最短路 kruskal模板
2013-11-28 14:24
204 查看
#include "stdio.h" //最短路 Kruskal算法 存边,排序,并查集合并,直至要求的两点相通,输出最小结果 //hdu 1233 #include "stdlib.h" struct node { int x,y; int w; }line[10005]; int ans; int set[10005]; int cmp(const void *a,const void *b) { return (*(node *)a).w - (*(node *)b).w; } int find(int x) { if(set[x] == x) return x; return find(set[x]); } void Union_t(int x,int y,int w) { int fa = find(x); int fb = find(y); if(fa!=fb) { ans += w; set[fa] = fb; } } int main() { int n,m; int i; while(scanf("%d",&n),n!=0) { m = n*(n-1)/2; for(i=0;i<=n;i++) set[i] = i; for(i=0;i<m;i++) { scanf("%d %d %d",&line[i].x,&line[i].y,&line[i].w); } qsort(line,m,sizeof(line[0]),cmp); ans = 0; for(i=0;i<m;i++) { Union_t(line[i].x,line[i].y,line[i].w); } printf("%d\n",ans); } return 0; }
相关文章推荐
- 最短路 kruskal模板
- 还是畅通工程+最短路kruskal模板+HDU
- ACM模板--邻接表 无向图 Prim Kruskal Dijkstra
- HDU-1879 最小生成树(Kruskal)模板题
- poj1258 Agri-Net 最小生成树 prim kruskal 模板
- 最短路模板总结
- 最短路模板[spfa][dijkstra+堆优化][floyd]
- 最短路(Dijkstra)Kuangbin大神的模板
- HDU 2544 最短路——简单的模板题 dijkstra
- 最短路小结--模板
- 最短路的几种算法及其优化(模板)
- 【洛谷T577】【模板】template 最短路 SPFA+dij
- 最短路 - - 模板
- 最短路模板Dijkstra Bellman-Ford Floyd SPFA
- Kruskal模板题 Slim Span uva
- 最小生成树-Kruskal模板
- <A*算法模板>poj 2449 第k短路
- HDU 2544 最短路 【最短路入门模板题】
- hdu Two Paths 次短路模板 (可往回走)
- dijkstra算法模板 -- 最短路