hdu acm 1241
第29行的getchar()一定要写。
#include <stdio.h> char maze[101][101]; int n, m; void dfs(int i, int j) { maze[i][j] = '*'; for(int x = -1; x <= 1; x++) { for(int y = -1; y <= 1; y++) { int nx = i + x; int ny = j + y; if(0 <= nx && nx < m && 0 <= ny && ny < n && maze[nx][ny] == '@') dfs(nx, ny); } } return ; } int main() { while(~scanf("%d%d", &m, &n)) { if(m == 0 || n == 0) break; for(int i=0; i<m; i++) { getchar(); for(int j=0; j<n; j++) { scanf("%c", &maze[i][j]); } } int res = 0; for(int i=0; i<m; i++) { for(int j=0; j<n; j++) { if(maze[i][j] == '@') { dfs(i, j); res ++; } } } printf("%d\n", res); } return 0; }