#include <bits/stdc++.h> using namespace std; void check(char input[122][122], 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[122][122]; while(cin >> n >> m && (n || m)){ memset(input,0,sizeof(input)); int sum = 0; for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++) cin >> input[i][j]; for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++){ if(input[i][j] == '1'){ check(input, i, j); sum ++; } } cout << sum << endl; } return 0; } |
Double click to view unformatted code.