@[yinbe](/user/759152) ~~有没有一种可能~~ 可以向四个方向走2格
by zqh123b @ 2023-11-01 21:37:30
@[zqh123b](/user/587615)
```cpp
if(s[x+1][y]||s[x-1][y]||s[x][y+1]||s[x][y-1]||
s[x+1][y+1]||s[x+1][y-1]||s[x-1][y+1]||s[x-1][y-1]
||s[x+2][y]||s[x-2][y]||s[x][y+2]||s[x][y-2])
```
这里我判了12个方向
by yinbe @ 2023-11-01 21:38:37
但search呢?
by zqh123b @ 2023-11-01 21:40:35
@[zqh123b](/user/587615) 改完了,还是10分
```cpp
#include<iostream>
using namespace std;
char c;
bool flag[250][250]={0},s[250][250]={0};
int m,n,cnt;
void search(int x,int y)
{
if(flag[x][y])
{
// cout<<"1";
return;
}
if(x>m||y>n||x<=0||y<=0)
{
// cout<<"2";
return;
}
if(s[x+1][y]||s[x-1][y]||s[x][y+1]||s[x][y-1]||
s[x+1][y+1]||s[x+1][y-1]||s[x-1][y+1]||s[x-1][y-1]
||s[x+2][y]||s[x-2][y]||s[x][y+2]||s[x][y-2])
{
// cout<<"4";
flag[x][y]=true;
search(x+1,y);
search(x,y+1);
search(x,y-1);
search(x-1,y);
search(x+1,y+1);
search(x-1,y+1);
search(x+1,y-1);
search(x-1,y-1);
search(x-2,y);
search(x+2,y-1);
search(x,y-2);
search(x,y+2);
return;
}
// cout<<"5";
cnt++;
flag[x][y]=true;
search(x+1,y);
search(x,y+1);
search(x,y-1);
search(x-1,y);
search(x+1,y+1);
search(x-1,y+1);
search(x+1,y-1);
search(x-1,y-1);
search(x-2,y);
search(x+2,y-1);
search(x,y-2);
search(x,y+2);
return;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>c;
if(c=='#')
{
s[i][j]=true;
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(s[i][j])
{
search(i,j);
}
}
}
printf("%d",cnt);
return 0;
}
```
by yinbe @ 2023-11-01 21:45:28
@[_2147483647](/user/1126487) 大佬,来帮帮我
by yinbe @ 2023-11-01 21:54:25
}
// cout<<"5";
cnt++;
flag[x][y]=true;
search(x+1,y);
search(x,y+1);
search(x,y-1);
search(x-1,y);
search(x+1,y+1);
search(x-1,y+1);
search(x+1,y-1);
search(x-1,y-1);
search(x-2,y);
search(x+2,y-1);
search(x,y-2);
search(x,y+2);
return;
}
int main()
by steven609 @ 2023-11-01 21:55:14
@[steven609](/user/1159871) 请使用代码块
by zqh123b @ 2023-11-02 20:41:32