#include <iostream> using namespace std; char arr[100][100]; void sheepNum(int x,int y){ arr[x][y]='2'; if(arr[x-1][y-1]=='1')sheepNum(x-1,y-1); if(arr[x-1][y]=='1')sheepNum(x-1,y); if(arr[x-1][y+1]=='1')sheepNum(x-1,y+1); if(arr[x][y-1]=='1')sheepNum(x,y-1); if(arr[x][y+1]=='1')sheepNum(x,y+1); if(arr[x+1][y-1]=='1')sheepNum(x+1,y-1); if(arr[x+1][y]=='1')sheepNum(x+1,y); if(arr[x+1][y+1]=='1')sheepNum(x+1,y+1); } int main(){ int m,n; while(scanf("%d %d",&m,&n)!=EOF){ if(m==0&&n==0)break; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cin>>arr[i][j]; } } int count=0; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ if(arr[i][j]=='1'){count ++; sheepNum(i,j);} } } cout<<count<<endl; // for(int i=0;i<m;i++){ // for(int j=0;j<n;j++){ // cout<<arr[i][j]; // } // } } return 0; } |
Double click to view unformatted code.