Jungle Roads---poj1251 hdu1301
2015-07-27 14:51
375 查看
Description
View Code
#include<stdio.h> #include<string.h> #include<map> #include<iostream> #include<algorithm> #include<math.h> #define N 110 #define INF 0xfffffff using namespace std; int dist , vis , n, maps ; void Init() { for(int i=0; i<=n; i++) { vis[i] = 0; dist[i] = INF; for(int j=0; j<=n; j++) { maps[i][j] = INF; } } } int Prim(int start) { int ans = 0; for(int i=1; i<=n; i++) dist[i] = maps[start][i]; vis[start] = 1; for(int i=1; i<n; i++) { int Min = INF,index = -1; for(int j=1; j<=n; j++) { if(vis[j]==0 && Min > dist[j]) Min = dist[j], index = j; } if(index == -1) break; vis[index] = 1; ans += Min; for(int j=1; j<=n; j++) { if(vis[j]==0 && dist[j] > maps[index][j]) { dist[j] = maps[index][j]; } } } return ans; } int main() { int i, j, x, a, b, ans, m; char s[5]; while(scanf("%d", &n), n) { Init(); for(i=1; i<n; i++) { scanf("%s%d", s, &m); a = s[0] - 'A' + 1; for(j=0; j<m; j++) { scanf("%s%d", s, &x); b = s[0] - 'A' + 1; maps[a][b] = maps[b][a] = min(maps[a][b],x); } } ans = Prim(1); printf("%d\n", ans); } return 0; }
View Code
相关文章推荐
- 2.1-tar打包和压缩的并用
- 2.0-tar打包工具详解
- Redis学习1_Redis快速入门
- WebDynpro for ABAP 简单ALV实例
- 使用Jquery--Jsp与servlet之间的数据交互
- Linux环境下编程(二)——线程基础概念
- Morphia 学习一 注解
- 杭电 2147 kiki‘s game
- test
- SIM900A GPRS调试笔记
- 比大小
- sql server 查看表的死锁和Kill 死锁进程
- Android开发之动态创建布局文件及控件
- Java安全通信:HTTPS与SSL
- PHP文件操作之读写
- TP中写操作数据的收集方法
- Prime ring problem
- 1.9-xz压缩和解压缩
- 1.8-zip和unzip
- AndroidViewAnimations开源框架实现