/*
10 12
W . . . . . . . . W W .
. W W W . . . . . W W W
. . . . W W . . . W W .
. . . . . . . . . W W .
. . . . . . . . . W . .
. . W . . . . . . W . .
. W . W . . . . . W W .
W . W . W . . . . . W .
. W . W . . . . . . W .
. . W . . . . . . . W .
*/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int M = scan.nextInt();
char[][] field = new char[N][M];
int res = 0;
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
field[i][j] = scan.next().charAt(0);
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
if (field[i][j] == 'W') {
dfs(i, j, field);
res++;
}
}
}
System.out.println(res);
}
public static void dfs(int x, int y, char[][] field) {
field[x][y] = '.';
for (int k = -1; k <= 1; k++) {
for (int l = -1; l <= 1; l++) {
int dx = x + k;
int dy = y + l;
if (dx >= 0 && dx < field.length && dy >= 0 && dy < field[0].length && field[dx][dy] == 'W') {
dfs(dx, dy, field);
}
}
}
}
}
dfs: POJ 2386 JAVA
最新推荐文章于 2025-05-17 17:01:31 发布