#include <bits/stdc++.h> using namespace std; void check(char input[120][120], int i, int j){ input[i][j] = '0'; if(input[i-1][j-1] == '1') check(input, i-1, j-1); if(input[i-1][j] == '1') check(input, i-1, j); if(input[i-1][j+1] == '1') check(input, i-1, j+1); if(input[i][j-1] == '1') check(input, i, j-1); if(input[i][j+1] == '1') check(input, i, j+1); if(input[i+1][j-1] == '1') check(input, i+1, j-1); if(input[i+1][j] == '1') check(input, i, j); if(input[i+1][j+1] == '1') check(input, i+1, j+1); } int main(){ int n, m; while(~scanf("%d%d\n", &n, &m) && (n || m)){ char input[120][120]; int sum = 0; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++) scanf("%c",&input[i][j]); getchar(); } for(int i = 0; i < n; i++) for(int j = 0; j < m; j++){ if(input[i][j] == '1'){ check(input, i, j); sum ++; } } printf("%d\n", sum); } return 0; } |
Double click to view unformatted code.