hdu 1233 还是畅通工程 (最小生成树)
2013-08-09 20:08
351 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1233
/************************************************************************/ /* hdu 还是畅通工程 最小生成树 题目大意:求连通这些村庄最少的建设公路长度 解题思路:最小生成树,所有的这些村子放在一个图中,找出一个最小生成树 */ /************************************************************************/ #include <stdio.h> #include <string.h> #include <algorithm> const int N = 101; int map ; int mark ; int i,j,n; int prim() { int sum = 0; int min,t = n,k; while(--t) { min = 100000; for (i = 2; i <= n; i++) { if(mark[i] != 1 && min > map[1][i]) { min = map[1][i]; k = i; } } sum += min; mark[k] = 1; for (i = 2; i <= n; i++) { if(mark[i] != 1 && map[k][i] < map[1][i]) map[1][i] = map[k][i]; } } return sum; } int main() { int x,y,len,num; while(scanf("%d",&n) && n != 0) { num = n*(n-1)/2; memset(map,0,sizeof(map)); for (i = 1; i <= num; i++) { scanf("%d%d%d",&x,&y,&len); map[x][y] = map[y][x] = len; } memset(mark,0,sizeof(mark)); printf("%d\n",prim()); } return 0; }
相关文章推荐
- hdu 1233 还是畅通工程【最小生成树入门】
- hdu 1233 还是畅通工程 最小生成树(prim算法 + kruskal算法)
- HDU 1233 还是畅通工程 最小生成树K算法 并查集
- HDU - 1233 还是畅通工程(最小生成树kruskal算法)
- HDU - 1233 [还是畅通工程 ] 最小生成树Kruskal
- hdu 1233 还是畅通工程(prim和kruskal最小生成树)
- Graph Theory NO.7_HDU_1233_还是畅通工程_最小生成树
- HDU 1233.还是畅通工程【最小生成树 kruskal算法(并查集)+prim算法】【1月8】
- HDU 1233 还是畅通工程 最小生成树
- hdu 1233 还是畅通工程 (最小生成树,prim,优先队列,kruskal并查集)
- hdu 1233 还是畅通工程【最小生成树入门】
- HDU 1233 还是畅通工程【最小生成树入门题,Kruskal算法+Prim算法】
- hdu 1233 还是畅通工程 基础最小生成树★
- 【最小生成树】+【并查集】-HDU-1233-还是畅通工程
- 最小生成树 hdu 1233 还是畅通工程
- hdu 1233 还是畅通工程(Prim最小生成树)
- 【最小生成树+Prim】杭电 hdu 1233 还是畅通工程
- HDU 1233 还是畅通工程 (自己种的第一棵最小生成树)
- HDU 1233 还是畅通工程 (Kruscal 最小生成树)
- HDU 1233 还是畅通工程(Prim求最小生成树)