标签:
#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