Result: Accepted
Time: 94ms
Memory: 2492kB
#include<iostream>
#include<cstring>
using namespace std;
int n,m;
int u,v;
int sum=0;
int fa[100000];
int b[100000];
int get(int x)
{
if(x==fa[x]) return x;
return fa[x]=get(fa[x]);
}
void join(int x,int y)
{
fa[get(x)]=get(y);
}
int main()
{
while(cin>>n>>m)
{
sum=0;
memset(b,0,sizeof b);
sum=0;
for(int i=1;i<=n;i++)
fa[i]=i;
for(int i=1;i<=m;i++)
{
cin>>u>>v;
join(u,v);
}
for(int i=1;i<=n;i++)
{
b[get(i)]++;
}
for(int i=1;i<=n;i++)
{
sum=max(sum,b[i]);
}
cout<<sum<<endl;
}
}