DavidTesla 2017-05-12 07:47:32
点我顶贴
收藏
删除
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int Father[1005],group[1005],ans=-1;
void init();
int GetFather(int a);
void merge(int a,int b);
int main()
{
init();
int n,m;
cin>>n>>m;
for(int q=0;q<m;q++){
int t1,t2;
scanf("%d%d",&t1,&t2);
merge(t1,t2);
}
cout<<ans;
return 0;
}
void init()
{
for(int q=0;q<1005;q++){
Father[q]=q;
group[q]=1;
}
}
int GetFather(int a)
{
if(Father[a]==a)
return a;
else{
Father[a]=GetFather(Father[a]);
return Father[a];
}
}
void merge(int a,int b)
{
int t1=GetFather(a);
int t2=GetFather(b);
if(t1!=t2)
Father[t2]=t1;
if(t1==t2)
return;
group[t1]+=group[t2];
ans=max(ans,group[t1]);
}