HDU1213

Posted 上进小青年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU1213相关的知识,希望对你有一定的参考价值。

http://acm.split.hdu.edu.cn/showproblem.php?pid=1213

 

 1 #include<stdio.h>
 2 #include<algorithm>
 3 #include<iostream>
 4 #include<string.h>
 5 using namespace std;
 6 const int maxn=1005;
 7 int fa[maxn];
 8 int fin(int x)
 9 {
10     return fa[x]==x?fa[x]:fa[x]=fin(fa[x]);
11 }
12 int unin(int x,int y){
13 return fa[fin(y)]=fin(x);
14 }
15 int main()
16 {
17     int t,a,b;
18     int m,n;
19     cin>>t;
20     while(t--){
21      cin>>m>>n;
22      for(int i=1;i<=m;i++){
23         fa[i]=i;
24      }
25      for(int i=0;i<n;i++){
26         scanf("%d%d",&a,&b);
27         if(fin(a)!=fin(b)){
28             unin(a,b);
29         }
30      }
31 
32      int temp=0;
33      for(int i=1;i<=m;i++){
34         if(fa[i]==i){
35             temp++;
36         }
37      }
38      cout<<temp<<endl;
39 getchar();
40     }
41 }
View Code

 

以上是关于HDU1213的主要内容,如果未能解决你的问题,请参考以下文章

hdu1213 并查集不压缩

hdu 1213 How Many Tables(并查集)

HDU1213

HDU 1213(裸并查集)(无变形)

hdu 1213 How Many Tables(并查集求无向图有几个连通分量)

HDU 1213 How Many Tables(模板——并查集)