poj 1611
2011-07-20 18:25
134 查看
http://poj.org/problem?id=1611
并查集的基本应用题
View Code
并查集的基本应用题
View Code
#include <stdio.h> #include <stdlib.h> int father[30005],num[30005]; void make_set(int x) { father[x] = x; num[x] = 1; } //查找x元素所在的集合,回溯时压缩路径 int find_set(int x) { if(x != father[x]) { father[x] = find_set(father[x]);//这个回溯时的压缩路径是精华 } return father[x]; } void union_set(int a,int b) { a = find_set(a); b = find_set(b); if(a == b) return ; if(num[a] <= num[b]) { father[a] = b; num[b] += num[a]; } else { father[b] = a; num[a] += num[b]; } } int main() { int n,m,a,b,t,i,j; while(scanf("%d %d",&n,&m) == 2) { if(n + m == 0) break; for(i = 0;i < n;i ++) { make_set(i); } for(i = 0;i < m;i ++) { scanf("%d",&t); scanf("%d",&a); for(j = 1;j < t;j ++) { scanf("%d",&b); union_set(a,b); } } printf("%d\n",num[find_set(0)]); } return 0; }
相关文章推荐
- POJ 1611(并查集)
- POJ1611——The Suspects 并查集基础
- The Suspects(POJ 1611)
- POJ1611 The Suspects (并查集)
- POJ 1611 The Suspects
- poj 1611
- POJ 1611 The Suspects(并差集)
- poj 1611
- poj1611 The Suspects(并查集)
- kuangbin专题五 并查集 POJ-1611 The Suspects
- poj 1611 并查集训练
- poj1611 The Suspects
- poj - 1611 The Suspects
- POJ 1611 Help Jimmy(DP,坑)
- poj 1611 并查集
- poj1611 并查集
- 【POJ 1611 The Suspects】
- poj 1611 The Suspects(并查集模板题)
- poj 1611 The Suspects
- poj1611