#include<stdio.h> void ToZero(char arr[123][123], int i, int j){ if(arr[i][j] == 0){ return ; } else { arr[i][j] = 0; ToZero(arr, i + 1, j + 1); ToZero(arr, i + 1, j - 1); ToZero(arr, i - 1, j + 1); ToZero(arr, i - 1, j - 1); ToZero(arr, i - 1, j); ToZero(arr, i + 1, j); ToZero(arr, i, j + 1); ToZero(arr, i, j - 1); } } int main(){ int m, n; while(~scanf("%d%d", &m, &n)){ if(m == 0 && n == 0){ break; } getchar(); char arr[123][123] = {0}; for(int i = 1; i <= m; i ++){ for(int j = 1; j <= n; j ++){ scanf("%c", &arr[i][j]); arr[i][j] -= '0'; } getchar(); } int sum = 0; for(int i = 1; i <= m; i ++){ for(int j = 1; j <= n; j ++){ if(arr[i][j] == 1){ sum ++; ToZero(arr, i, j); } } } printf("%d\n", sum); } return 0; } |
Double click to view unformatted code.