HDU 2544.最短路【最短路径(Dijkstra算法)】【4月14】
来源:互联网 发布:淘宝微信免单群 编辑:程序博客网 时间:2024/05/29 18:12
最短路
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 49800 Accepted Submission(s): 21921
Problem Description
在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?
Input
输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所在地,M则表示在成都有几条路。N=M=0表示输入结束。接下来M行,每行包括3个整数A,B,C(1<=A,B<=N,1<=C<=1000),表示在路口A与路口B之间有一条路,我们的工作人员需要C分钟的时间走过这条路。
输入保证至少存在1条商店到赛场的路线。
输入保证至少存在1条商店到赛场的路线。
Output
对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间
Sample Input
2 11 2 33 31 2 52 3 53 1 20 0
Sample Output
32
#include<iostream>#include<cstdio>#include<vector>#include<cstring>using namespace std;const int MAXN = 1005;int dist[MAXN], len[MAXN][MAXN], vt[MAXN];int n, m, s, t, a, b, d;void Dijkstra(int root, int finish){ memset(vt, 0, sizeof(vt)); for(int i = 1;i <= n; ++i) { dist[i] = 0x7FFFFFFF; } dist[root] = 0; vt[root] = 1; for(int i = 1;i <= n; ++i) { int minx = 0x7FFFFFFF; for(int j = 1;j <= n; ++j) { if(vt[j] == 1) continue; if(len[root][j] == 0x7FFFFFFF) continue; if(dist[j] > dist[root] + len[root][j]) { dist[j] = dist[root] + len[root][j]; } } for(int j = 1;j <= n; ++j) { if(vt[j] == 0 && dist[j] < minx) { root = j; minx = dist[j]; } } vt[root] = 1; } cout << dist[finish]<< endl;}int main(){ while(scanf("%d %d", &n, &m) == 2 && n && m) { for(int i = 1;i <= n; ++i) for(int j = 1;j <= n; ++j) len[i][j] = 0x7FFFFFFF; for(int i = 1;i <= m; ++i) { scanf("%d %d %d", &a, &b, &d); if(d < len[a][b]) { len[a][b] = len[b][a] = d; } } Dijkstra(1, n); } return 0;}
0 0
- HDU 2544.最短路【最短路径(Dijkstra算法)】【4月14】
- HDU 3790.最短路径问题【最短路径Dijkstra算法】【4月14】
- HDU 1874.畅通工程续【最短路径(Dijkstra算法)】【4月14】
- HDU 3790 最短路径问题(单源最短路---Dijkstra算法)
- HDU 3790 最短路径问题【多关键字最短路,Dijkstra算法+spfa算法】
- hdu 3790 最短路径问题 最短路Dijkstra
- HDU 3790 最短路径问题【最短路 dijkstra 双权值】
- sdut 2622 最短路径(Dijkstra算法求最短路)
- hdu 2066最短路径(Dijkstra算法)
- hdu 2066 最短路径Dijkstra算法
- 最短路径 Dijkstra 算法 HDU 3790
- 杭电 hdu 2544 最短路 (最短路径 + Dijkstra算法)
- hdu 1874畅通工程续+2544最短路+3790最短路径(dijkstra算法入门题)
- HDU 3790 最短路径问题(双重Dijkstra算法)
- HDU 3790 最短路径问题 (Dijkstra算法)
- HDU 2544:最短路( 最短路径入门 &&Dijkstra && floyd )
- 最短路径问题(Dijkstra算法)
- Dijkstra算法(最短路径问题)
- 自己写的交管系统
- 系统设计中MP3功耗问题分析
- JavaScript的console.log()
- C语言学习笔记(结构体对齐问题)
- Laxcus大数据管理系统2.0(6)- 第四章 数据计算
- HDU 2544.最短路【最短路径(Dijkstra算法)】【4月14】
- SDAU练习二1009
- 2016打算做运维的人员必知必晓的知识 【转】
- 网络计数器如何用图片替代数字
- poj 【2251】 Dungeon Master
- AlertDialog 自定义布局 以及 EditText 无法弹出软键盘的解决
- POJ:3069 Saruman's Army(贪心)
- 三小步解决解决火狐任务栏双图标问题
- Laxcus大数据管理系统2.0(7)- 第五章 数据构建