#include<stdio.h> int main() { char a[120][120]; int i,j; int n,m; while(scanf("%d%d",&n,&m),n!=0||m!=0) { getchar(); for(i=0;i<n;i++) { for(j=0;j<m;j++) scanf("%c",&a[i][j]); getchar(); } int sum=0; int flag=0; for(i=0;i<n;i++) for(j=0;j<m;j++) { flag=0; if(a[i][j]=='1') { if(a[i+1][j]=='2'&&(i+1<n)) a[i][j]='2'; if(a[i][j+1]=='2'&&(j+1<m)) a[i][j]='2'; if(a[i+1][j+1]=='2'&&(i+1<n)&&(j+1<m)) a[i][j]='2'; if(a[i-1][j+1]=='2'&&(i>0)&&(j+1<m)) a[i][j]='2'; if(a[i-1][j]=='2'&&(i>0)) a[i][j]='2'; if(a[i][j-1]=='2'&&(j>0)) a[i][j]='2'; if(a[i+1][j-1]=='2'&&(j>0)&&(i+1<n)) a[i][j]='2'; if(a[i-1][j-1]=='2'&&(i>0)&&(j>0)) a[i][j]='2'; if(a[i+1][j]=='1'&&(i+1<n)) a[i+1][j]='2'; if(a[i][j+1]=='1'&&(j+1<m)) a[i][j+1]='2'; if(a[i+1][j+1]=='1'&&(i+1<n)&&(j+1<m)) a[i+1][j+1]='2'; if(a[i-1][j+1]=='1'&&(i>0)&&(j+1<m)) a[i-1][j+1]='2'; if(a[i-1][j]=='1'&&(i>0)) a[i-1][j]='2'; if(a[i][j-1]=='1'&&(j>0)) a[i][j-1]='2'; if(a[i+1][j-1]=='1'&&(j>0)&&(i+1<n)) a[i+1][j-1]='2'; if(a[i-1][j-1]=='1'&&(i>0)&&(j>0)) a[i-1][j-1]='2'; } } for(i=0;i<n;i++) for(j=0;j<m;j++) { if(a[i][j]=='1') sum++; } printf("%d\n",sum); } return 0; } |
Double click to view unformatted code.