#include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> #include <ctype.h> void fun(char cd[121][121], int i, int j) { if(cd[i][j] == 0) { return; } else { cd[i][j] = 0; fun(cd, i + 1, j); fun(cd, i - 1, j); fun(cd, i, j - 1); fun(cd, i, j + 1); fun(cd, i + 1, j + 1); fun(cd, i + 1, j - 1); fun(cd, i - 1, j + 1); fun(cd, i - 1, j - 1); } } int main() { char cd[121][121] = {0}; int m, n; int sum; while(scanf("%d %d", &m, &n) && m != 0 && n != 0) { getchar(); sum = 0; for(int i = 1; i <= m; i ++) { for(int j = 1; j <= n; j ++) { scanf("%c", &cd[i][j]); cd[i][j] = cd[i][j] - '0'; } } for(int i = 1; i <= m; i ++) { for(int j = 1; j <= n; j ++) { if(cd[i][j] == 1) { sum ++; fun(cd, i, j); } } } printf("%d\n", sum); } return 0; } |
Double click to view unformatted code.