#include<bits/stdc++.h> using namespace std; typedef long long ll; void fun(char a[200][200], 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[200][200]; 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.