#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; char input[120][120]; while(cin >> n >> m && (n || m)){ int sum = 0; for(int i = 0; i < n; i++) for(int j = 0; j < m; j++) cin >> input[i][j]; for(int i = 0; i < n; i++) for(int j = 0; j < m; j++){ if(input[i][j] == '1'){ check(input, i, j); sum ++; } } cout << sum << endl; } return 0; } |
Double click to view unformatted code.