hdu 1213 How Many Tables(数据结构)
2013-03-24 03:10
218 查看
跟1232不一样的地方是最后的结果不用减一。
#include<stdio.h> int mark[1005],rank[1005]; int find(int x) { while(x!=mark[x]) x=mark[x]; return x; } void Union(int x,int y) { x=find(x); y=find(y); if(x==y) return ; if(rank[x]>=rank[y]) { mark[y]=mark[x]; rank[x]+=rank[y]; } else { mark[x]=mark[y]; rank[y]+=rank[x]; } return ; } int main() { int x,y; int T,i; int n,m; int ans; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); for(i=0;i<=n;i++) { mark[i]=i; rank[i]=1; } for(i=0;i<m;i++) { scanf("%d%d",&x,&y); Union(x,y); } ans=0; for(i=1;i<=n;i++) { if(mark[i]==i) ans++; } printf("%d\n",ans); } return 0; }
相关文章推荐
- hdu 1213 How Many Tables(并查集)
- hdu 1213 How Many Tables(并查集算法)
- HDU~1213~How Many Tables
- HDU 1213 How Many Tables (dfs求联通块 || 并查集)
- 【HDU 1213】How many tables(并查集模板)
- HDU 1213 How Many Tables(并查集)
- HDU--1213--How Many Tables--并查集
- ACM 数据结构-并查集 HDU 1213 How Many Tables
- hdu 1213 How Many Tables(并查集)
- HDU 1213 How Many Tables 并查集
- Hdu1213 - How Many Tables - 并查集
- hdu-1213 how many tables
- HDU 1213 How Many Tables【并查集】
- HDU 1213 How Many Tables 并查集
- hdu 1213 How Many Tables(并查集)
- C - How Many Tables - HDU-1213
- HDU:1213 How Many Tables(简单并查集)
- How Many Tables------HDU - 1213
- hdu 1213 How Many Tables 并查集模板题+路径压缩
- hdu 1213 How Many Tables