POJ 2386

xiaoxiao2021-02-28  103

#include<cstdio> int N, M, ans; char f[105][105]; bool vis[105][105]; void dfs(int x, int y) { f[x][y] = '.'; for (int dx = -1; dx <= 1; dx++) { for (int dy = -1; dy <= 1; dy++) { int xx = x + dx; int yy = y + dy; if (0 <= xx && xx < N && 0 <= yy && yy < M && f[xx][yy] == 'W') { dfs(xx, yy); } } } return; } int main() { while (scanf("%d%d", &N, &M) == 2) { getchar(); for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { scanf("%c", &f[i][j]); } getchar(); } for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { if (f[i][j] == 'W') { dfs(i, j); ans++; } } } printf("%d", ans); } return 0; }
转载请注明原文地址: https://www.6miu.com/read-81361.html

最新回复(0)