首页 > 代码库 > HDU1213

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