#include <stdio.h> void fun(int a[200][200],int i,int j){ a[i][j]=0; 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) 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-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 a[200][200]; int n,k; int i,j; char c; while (scanf("%d%d",&n,&k)!=EOF){ getchar(); if(n==0&&k==0) break; for(i=0;i<n;i++){ for(j=0;j<k;j++){ scanf("%c",&c); a[i][j]=c-'0'; } getchar(); } int sum=0; for(i=0;i<n;i++){ for(j=0;j<k;j++){ if(a[i][j]==1){ fun(a,i,j); sum++; } } } printf("%d\n",sum); } return 0; } |
Double click to view unformatted code.