#include <stdio.h> #include <string.h> void f(char a[][130],int m,int n){ //杀羊 a[m][n]='0'; if(a[m+1][n]=='1') f(a,m+1,n); if(a[m-1][n]=='1') f(a,m-1,n); if(a[m][n+1]=='1') f(a,m,n+1); if(a[m][n-1]=='1') f(a,m,n-1); if(a[m+1][n+1]=='1') f(a,m+1,n+1); if(a[m-1][n-1]=='1') f(a,m-1,n-1); if(a[m+1][n-1]=='1') f(a,m+1,n-1); if(a[m-1][n+1]=='1') f(a,m-1,n+1); } int main() { int m,n; while(scanf("%d %d",&m,&n)&&n!=0&&m!=0) { char a[130][130]; char x; int i,j; int cnt=0; for(i=0;i<m;i++) { scanf("%s",a[i]); } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(a[i][j]=='1') { f(a,i,j); cnt++; } } } printf("%d\n",cnt); } return 0; } |
Double click to view unformatted code.