#include "stdio.h" #include "math.h" #include "string.h" void main() { void f(int i,int j,int a[][500]); int m,n; int i,j; int count; for(;scanf("%d%d",&m,&n)!=EOF;) { int a[500][500]={0}; if(m==0&&n==0) break; count=0; for(i=120;i<m+120;i++) for(j=120;j<n+120;j++) scanf("%1d",&a[i][j]); for(i=120;i<m+120;i++) { for(j=120;j<n+120;j++) { if(a[i][j]==1) { f(i,j,a); count++; } } } printf("%d\n",count); } } void f(int i,int j,int a[][500]) { a[i][j]=0; if(a[i][j+1]==1) f(i,j+1,a); if(a[i+1][j-1]==1) f(i+1,j-1,a); if(a[i+1][j]==1) f(i+1,j,a); if(a[i+1][j+1]==1) f(i+1,j+1,a); if(a[i-1][j+1]==1) f(i-1,j+1,a); if(a[i-1][j]==1) f(i-1,j,a); if(a[i-1][j-1]==1) f(i-1,j-1,a); if(a[i][j-1]==1) f(i,j-1,a); } |
Double click to view unformatted code.