标签:
#include<iostream> #include<vector> #include<map> #include<string> #include<math.h> #include<algorithm> using namespace std; int bb[505][505]; int main() { int T,m,n; int t,i,j; int g; int x,y; int count,flag; cin>>T; for(t=1;t<=T;t++) { memset(bb,0,sizeof(bb)); cin>>n>>m; cin>>g; for(i=0;i<g;i++) { cin>>x>>y; bb[x][y]=1; } while(1){ flag=0; for(i=1;i<=n;i++) { count=0; for(j=1;j<=m;j++) { if(bb[i-1][j]==1)count++; if(bb[i+1][j]==1)count++; if(bb[i][j-1]==1)count++; if(bb[i][j+1]==1)count++; if(count==2) { if(bb[i-1][j]==1 && bb[i+1][j]==1) count=0; else if(bb[i][j+1]==1 && bb[i][j-1]==1) count=0; } if(count>1 && bb[i][j]==0) { bb[i][j]=1; flag=1; } count=0; } } if(flag==0) break; } count=0; for(i=1;i<=n;i++) { for(j=1;j<=m;j++) if(bb[i][j]==1) count++; // cout<<bb[i][j]<<" "; //cout<<endl; } cout<<"Case #"<<t<<":"<<endl; cout<<count<<endl; } return 0; }
标签:
原文地址:http://blog.csdn.net/wljwsj/article/details/46360065