@[SwethessPotion](/user/1059747)
```cpp
#include <iostream>
using namespace std;
const int N = 1005;
bool vis[N][N];
int dx[90] = {0, 0, 0, 1, 1, 1, -1, -1, -1};
int dy[90] = {0, 1, -1, 0, 1, -1, 0, 1, -1};
int n, m;
char arr[N][N];
void dfs(int i, int j)
{
vis[i][j] = true;
for (int ii = 1; ii <= 8; ii++)
{
int x = i + dx[ii], y = j + dy[ii];
if (1 <= x && x <= n && 1 <= y && y <= m && arr[x][y] == 'W' && !vis[x][y])
{
vis[x][y] = true;
dfs(x, y);
}
}
}
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
cin >> arr[i][j];
}
}
int cnt = 0;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
if (!vis[i][j] && arr[i][j] == 'W')
{
dfs(i, j);
cnt++;
}
}
}
cout << cnt << endl;
return 0;
}
```
##### $你的dfs没有返回值但是定义为int,应改为void$
by wjr_jok @ 2024-03-20 20:37:31
@[wjr_jok](/user/1236806) 打`int`打习惯了。。。
谢谢大佬指点,但是为什么在IDE上不会RE
by SwethessPotion @ 2024-03-22 17:32:59