首页 > 其他 > 详细

【HDOJ】2544 最短路

时间:2014-05-05 22:34:05      阅读:462      评论:0      收藏:0      [点我收藏+]

Dijkstra。

bubuko.com,布布扣
 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 #define INF 0xfffffff
 5 
 6 int map[105][105];
 7 int dp[105];
 8 char visit[105];
 9 
10 int main() {
11     int n, m;
12     int i, j, k, min;
13 
14     while (scanf("%d %d",&n,&m)!=EOF && (n||m)) {
15         memset(visit, 0, sizeof(visit));
16         for (i=1; i<=n; ++i)
17             for (j=1; j<=n; ++j)
18                 map[i][j] = INF;
19         while (m--) {
20             scanf("%d %d %d", &i, &j, &k);
21             if (map[i][j] > k)
22                 map[i][j] = map[j][i] = k;
23         }
24         for (i=1; i<=n; ++i)
25             dp[i] = map[1][i];
26         visit[1] = 1;
27         for (i=1; i<n; ++i) {
28             min = INF;
29             for (j=1; j<=n; ++j) {
30                 if ( !visit[j] && dp[j]<min) {
31                     min = dp[j];
32                     k = j;
33                 }
34             }
35             visit[k] = 1;
36             for (j=1; j<=n; ++j) {
37                 if ( !visit[j] && min + map[k][j] < dp[j]) {
38                     dp[j] = min + map[k][j];
39                 }
40             }
41         }
42         printf("%d\n", dp[n]);
43     }
44 
45     return 0;
46 }
bubuko.com,布布扣

 

【HDOJ】2544 最短路,布布扣,bubuko.com

【HDOJ】2544 最短路

原文:http://www.cnblogs.com/bombe1013/p/3704856.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!