Hoj 1632 Jungle Roads
2013-02-11 21:43
260 查看
最小生成树。
算法:Prim。
题目连接:http://acm.hit.edu.cn/hoj/problem/view?id=1632
算法:Prim。
题目连接:http://acm.hit.edu.cn/hoj/problem/view?id=1632
#include <iostream> #include <stdio.h> #include <string.h> #include <queue> #include <math.h> #include <algorithm> using namespace std; int map[28][28]; int dist[28]; int visited[28]; int main() { #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); #endif int n; while(scanf(" %d",&n)!=EOF && n!=0) { char c; int d; char c1; int d1; memset(map,0x7f,sizeof(map)); for(int i=0; i<28; i++) { map[i][i] = 0; } for(int i=0; i<n-1; i++) { scanf(" %c %d",&c,&d); for(int j=0; j<d; j++) { scanf(" %c %d",&c1,&d1); map[c-'A'][c1-'A'] = map[c1-'A'][c-'A'] = d1; } } memset(dist,0x7f,sizeof(dist)); memset(visited,0,sizeof(visited)); dist[0] = 0; int sum = 0; for(int i=0; i<n; i++) { int min = 0x7f; int k = 0; for(int j=0; j<n; j++) { if(visited[j] == 0 && dist[j]<min) { min = dist[j]; k = j; } } visited[k] = 1; sum += min; for(int j=0; j<n; j++) { if(dist[j] > map[k][j]) { dist[j] = map[k][j]; } } } printf("%d\n",sum); } return 0; }
相关文章推荐
- [hoj 1632]Jungle Roads[Kruskal最小生成树模板题]
- [HOJ]1632、[POJ]1251 Jungle Roads、c++/Java解决
- hoj 1632
- HOJ 题目分类 by wywcgs
- 【搜索剪枝】HOJ 1239 Calling Extraterrestrial Intelligence Again
- HOJ 1058
- Maze Stretching--HOJ 11879
- hdu1301 Jungle Roads(Prime算法求最小生成树)
- 字符串分组轮换。HOJ1634 W's Cipher。
- ZOJ1406 POJ1251 Jungle Roads,Prim算法~
- hoj1740
- HOJ 1864—求Fibonacci第n个数有多少位?
- HOJ 1867 经理的烦恼 树状数组
- hoj 3069 Little Pigs and Wolves 最大匹配
- HOJ 1018 Multiple
- IP Filtering hoj 二分好题!!
- HOJ---10814 Wooden Sticks[线性DP-求最少不递增子序列+结构体排序]
- hdu1301 Jungle Roads(kruskal 备忘)
- HOJ 2064 Journey to Tibet (DFS)
- Billiard hoj poj 数学题 挺好的