#include<stdio.h>
int f[10020];
int fun(int x)
{
return f[x]=(f[x]==x)?f[x]:fun(f[x]);
}
int main()
{
int sum[10020];
int i,n,t,m,a,b,p,q,min;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(i=0;i<=n;i++)
{
f[i]=i;
sum[i]=1;
}
for(i=0;i<m;i++)
{
scanf("%d%d",&a,&b);
p=fun(a);
q=fun(b);
if(q!=p)
{
f[p]=q;
sum[q]+=sum[p];
}
}
min=0;
for(i=1;i<=n;i++)
if(f[i]==i&&min<sum[i])
min=sum[i];
printf("%d\n",min);
}
return 0;
}
uva10608 并查集
最新推荐文章于 2021-08-06 15:14:15 发布