hdu 1213 how many tables

来源:互联网 发布:python调用python脚本 编辑:程序博客网 时间:2024/06/15 21:12

简单的并查集,看有多少父节点

#include<iostream>#include<cstdio>#define maxn 1000+5using namespace std;int a[maxn];void pr(){for(int i=0;i<maxn;i++) a[i]=i;}int dfs(int x){if(a[x]!=x) a[x]=dfs(a[x]);return a[x];}int main(){int t;cin>>t;while(t--){pr();int n,m;cin>>n>>m;for(int i=0;i<m;i++){int x,y;cin>>x>>y;if(dfs(x)!=dfs(y)) a[dfs(y)]=dfs(x);}int sum=0;for(int i=1;i<=n;i++){if(a[i]==i) sum++;}cout<<sum<<endl;getchar();}return 0;} 


 

0 0