最短路 kruskal模板
2013-11-28 14:24
148 查看
#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模板+HDU
- 最短路 kruskal模板
- 最短路模板BF和SPFA,poj3259测
- CODEVS 1021 玛丽卡 最短路模板题
- POJ 2387 Til the Cows Come Home --最短路模板题
- 最短路-dijkstra与floyd的邻接矩阵模板示例
- 最短路,最小生成树,及拓扑排序模板整理
- [csu] 1175: A Tour Around Hangzhou [最短路][压缩DP][模板题]
- 【模板】Kruskal 最小生成树
- hdu 2544 最短路 dijkstra模板
- Bellman_ford 求最短路模板
- POJ 1847 Tram【最短路入门Dijkstra算法模板题目一】
- 最短路模板
- [次短路][路径计数](模板题) poj3436 Sightseeing
- poj 1860 2378 3259带负边最短路 ** bellman ford 模板
- 最短路 SPFA模板
- ACM模板 Bellman_Ford,单源最短路,图论
- 最小生成树(模板 Kruskal)
- 单源最短路模板_SPFA_Dijkstra(堆优化)_C++
- A*求单元第k短路的模板