题意:
给你n*m的矩形,有k个坏点
问最大坏点连通块的坏点数。
一发水题。。
裸的DFS
// by SiriusRen
#include <cstdio>
#include <algorithm>
using namespace std;
int n,m,k,jy,jyx,jyy,xx[]={1,-1,0,0},yy[]={0,0,1,-1},a[105][105],vis[105][105],ans=0;
void dfs(int x,int y){
for(int i=0;i<=3;i++)
for(int j=0;j<=3;j++)
if(a[x+xx[i]][y+yy[i]]==1&&!vis[x+xx[i]][y+yy[i]]){
vis[x+xx[i]][y+yy[i]]=1;jy++;
dfs(x+xx[i],y+yy[i]);
}
}
int main(){
scanf("%d%d%d",&n,&m,&k);
while(k--)scanf("%d%d",&jyx,&jyy),a[jyx][jyy]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(a[i][j]&&!vis[i][j]){
jy=0;
dfs(i,j);
ans=max(ans,jy);
}
printf("%d",ans);
}