并查集(kruskal的核心思想)模板
2011-05-20 21:09
218 查看
#include<stdio.h> #include<string.h> #include<stdlib.h> int n,m,set[1000]; int find(int x)//查找根节点 { return set[x]==x?x:set[x]=find(set[x]);//递归 } void Union(int x,int y)//合并不相等根节点的两个集合 { int a=find(x),b=find(y); if(a!=b) set[a]=b; } int main() { int a,b,x,y,sum; while(scanf("%d%d",&n,&m),n) { for(int i=1;i<=n;i++) { set[i]=i; } for(int i=1;i<=m;i++) { scanf("%d%d",&a,&b); Union(a,b); } sum=-1; for(int i=1;i<=n;i++) { if(set[i]==i) { sum++; } } printf("%d\n",sum); } system("pause"); return 0; }
相关文章推荐
- HDU 1598(并查集 kruskal思想)
- kruskal模板及例题(并查集)
- 算法核心思想总结及模板(不定期更新)
- smarty核心思想 自制模板引擎
- kruskal_并查集_代码模板_hdu1232
- kruskal_并查集_代码模板 &hdu1232
- hdu 1598 并查集+贪心---其实就是kruskal的思想
- 模板-并查集(kruskal)
- hdu 1598 并查集+贪心---其实就是kruskal的思想
- 【并查集 最小生成树两种模板(MST)】
- 洛谷P1991无线通讯网[kruskal | 二分答案 并查集]
- 微积分核心思想
- (贪心)kruskal思想
- P3367 【模板】并查集
- 模板 并查集
- 【模板】并查集 两种路径压缩写法
- Vue——核心思想
- HDOJ 题目3172Virtual Friends (带权值的并查集,模板)
- pageRank算法核心思想
- 【2802】SDUTOJ (并查集模板水题2)