#include<stdio.h>
#include<stdlib.h>
int parent[1000];
int res;
int i;
int n,pair;
int find(int x)
{
return(x==parent[x])?x:(parent[x]=find(parent[x]));
}
void unite(int x,int y)
{
x=find(x);
y=find(y);
if(x!=y){
parent[x]=y;
res--;
}
}
void init(){
scanf("%d%d",&n,&pair);
res=n;
for( i=1;i<=n;i++)
{
parent[i]=i;
}
}
int main(){
int t ;
scanf("%d",&t);
while(t--)
{
init();
for( i=1;i<=pair;i++)
{
int num1,num2;
scanf("%d%d",&num1,&num2);
unite(num1,num2);
}
printf("%d\n",res);
}
}
HDU1213- How Many Tables
最新推荐文章于 2020-05-08 22:05:27 发布