最小生成树(kruskal模版 模板)
2013-06-29 23:31
696 查看
题目:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2144&cid=1186
#include<stdio.h> #include<string.h> #include<stdlib.h> int bin[110]; struct node { int u,v,w; }q[10001]; int cmp(const void *a,const void *b)//按距离从小到大排序 { return (*(node *)a).w-(*(node *)b).w; } int find(int a) { if(a==bin[a]) return a; else bin[a]=find(bin[a]); }; int main() { int n,m,i,j,sum,num; int x,y; while(~scanf("%d%d",&n,&m)) { sum=0; num=0; for(i=1; i<=n; i++) bin[i]=i; for(i=0; i<=m-1; i++) scanf("%d%d%d",&q[i].u,&q[i].v,&q[i].w); qsort(q,m,sizeof(q[0]),cmp); for(i=0; i<=m-1; i++) { x=find(q[i].u); y=find(q[i].v); if(x!=y) //检查是否连通 { sum+=q[i].w;//没连通的话加上距离 num++; //城市+1 bin[x]=y; } if(num==n-1) break; } printf("%d\n",sum); } }
相关文章推荐
- 最小生成树(kruskal模版 Prim模板)
- hdu1879 最小生成树模板 peim和kruskal
- Kruskal(克鲁斯卡尔) 最小生成树 算法详解+模板
- poj1258 Agri-Net 最小生成树 prim kruskal 模板
- 最小生成树模板(POJ 1258-prime+HDU 1233 Kruskal为例)
- POJ1258-最小生成树-kruskal模板
- [kuangbin带你飞]专题六 最小生成树 (prim)(kruskal)(模板)
- 最小生成树—Kruskal模板
- 【模板】Kruskal 最小生成树
- 模板整理——图论·最小生成树·Kruskal
- 算法提高 最小方差生成树(Kruskal)_模板
- 个人模板 Kruskal 最小生成树
- Kruskal模板求最小生成树
- 最小生成树kruskal 并查集合 模板题
- 最小生成树prim+kruskal模板
- 最小生成树---Kruskal---模板
- 最小生成树(prim&kruskal)模板
- 最小生成树模板(Kruskal和prim)
- POJ1751 Highways(最小生成树,Kruskal模板题)
- 最小生成树模板——kruskal