40分求助,谢谢!
查看原帖
40分求助,谢谢!
532067
rochcim楼主2021/11/4 20:10
#include <iostream>
#include <cstdio>
using namespace std;
int n, m, ans = 0;
char a[101][101];
void dfs(int x, int y) {
    a[x][y] = '.';
    for (int i = -1; i <= 1; i++)
        for (int j = -1; j <= 1; j++) {
            int dx = x + i;
            int dy = y + j;
            if (dx >= 1 && dx <= n && dy >= 1 && dy <= m && a[dx][dy] == 'W')
                dfs(dx, dy);
        }
}
int main () {
    scanf("%d%d", &n, &m);
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            scanf("%s", &a[i][j]);
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++) {
            if (a[i][j] == 'W') {
                dfs(i, j);
                ans++;
            }
        }
    cout << ans << endl;
    return 0;
}
谢谢谢谢!
2021/11/4 20:10
加载中...