#include<bits/stdc++.h> using namespace std; void fun(char a[122][122], int i, int j){ a[i][j] = '0'; if(a[i+1][j]=='1') fun(a, i+1, j); if(a[i+1][j-1]=='1') fun(a, i+1, j-1); if(a[i+1][j+1]=='1') fun(a, i+1, j+1); if(a[i][j+1]=='1') fun(a, i, j+1); if(a[i][j-1]=='1') fun(a, i, j-1); if(a[i-1][j]=='1') fun(a, i-1, j); if(a[i-1][j+1]=='1') fun(a, i-1, j+1); if(a[i-1][j-1]=='1') fun(a, i-1, j-1); } int main (){ int n, m; while(cin >> n >> m && n && m){ char s[122][122]; for(int i = 0;i < n;i++) for(int j = 0;j < m;j++) cin >> s[i][j]; int cnt = 0; for(int i = 0;i < n;i++) for(int j = 0;j < m;j++) if(s[i][j]=='1'){ fun(s, i, j); cnt++; } cout << cnt << endl; } return 0; } |
Double click to view unformatted code.