正文
hdu1213并查集
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
板子题不多说,上代码
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int F[];
int find(int x){
if(F[x]==-) return x;
return F[x]=find(F[x]);
}
void bing(int a,int b){
int t1=find(a);
int t2=find(b);
if(t1!=t2) F[t1]=t2;
}
int main(){
int T,n,m,a,b;
cin >> T;
while(T--){
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
F[i]=-;
while(m--){
scanf("%d%d",&a,&b);
bing(a,b);
} int ans=;
for(int i=;i<=n;i++)
if(F[i]==-)
ans++;
printf("%d\n",ans);
}
}