#615. NOIP2013TG-26

NOIP2013TG-26

  1. (阅读程序写结果)
#include<iostream>
#include<string>
using namespace std;
const int SIZE=100;
int n,m,p,a[SIZE][SIZE],count;
void colour(int x,int y)
{
  count++;
  a[x][y]=1;
  if((x>1)&&(a[x-1][y]==0))
    colour(x-1,y);
  if((y>1)&&(a[x][y-1]==0))
    colour(x,y-1);
  if((x<n)&&(a[x+1][y]==0))
    colour(x+1,y);
  if((y<m)&&(a[x][y+1]==0))
    colour(x,y+1);
}

int main( )
{
  int i,j,x,y,ans;
  memset(a,0,sizeof(a));
  cin>>n>>m>>p;
  for(i=1;i<=p;i++){
    cin>>x>>y;
    a[x][y]=1;
  }
  ans=0;
  for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
      if(a[i][j]==0)
      {
        count=0;
        colour(i,j);
        if(ans<count)
          ans=count;
      }
  cout<<ans<<endl;
  return 0;
}

输入:

6 5 9

1 4

2 3

2 4

3 2

4 1

4 3

4 5

5 4

6 4

输出:{{ input(1) }}