首页 > 其他 > 详细

HDUOJ --2544最短路(基础)

时间:2014-03-01 19:02:41      阅读:349      评论:0      收藏:0      [点我收藏+]

 

输入包括多组数据。每组数据第一行是两个整数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条商店到赛场的路线。
 

 

Output
对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间
 

 

Sample Input
2 1 1 2 3 3 3 1 2 5 2 3 5 3 1 2 0 0
 

 

Sample Output
3 2
 

 

Source
 

 代码:

bubuko.com,布布扣
 1 #include<stdio.h>
 2 #include<string.h>
 3 const int inf=0x3f3f3f3f ;
 4 int path[101];
 5 int sta[101][101],lowcost[101];
 6 void Dijkstra( int cost[][101], int n )
 7 {
 8     int i,j,min;
 9     int vis[101]={1};
10     for(i=0; i<n ; i++)
11     {
12         lowcost[i]=cost[0][i];
13         path[i]=0;
14     }
15     lowcost[0]=0;
16     path[0]=-1;  
17     int pre= 0;
18     for( i=1 ; i<n ;i++)
19     {
20         min=inf;
21         for(j=0 ; j<n ;j++)
22         {
23             if(vis[j]==0&&lowcost[pre]+cost[pre][j]<lowcost[j])
24             {
25                 lowcost[j]=lowcost[pre]+cost[pre][j];
26                 path[j]=pre;
27             }
28         }
29         for(j=0; j<n ;j++)
30         {
31             if(vis[j]==0&&lowcost[j]<min)
32             {
33                 min=lowcost[j];
34                 pre=j;
35             }
36         }
37         vis[pre]=1;
38     }
39    printf("%d\n",lowcost[n-1]);
40 }
41 
42 int main()
43 {
44     int n,m,x,y,val,i,j;
45     while(scanf("%d%d",&n,&m),n+m)
46     {
47         for(i=0;i<n;i++)
48         {
49             for(j=0;j<n;j++)
50             {
51                 sta[i][j]=inf;
52             }
53         }
54         while(m--)
55         {
56             scanf("%d%d%d",&x,&y,&val);
57             sta[y-1][x-1]=sta[x-1][y-1]=val;
58         }
59         Dijkstra(sta,n);
60     }
61     return 0;
62 }
View Code

HDUOJ --2544最短路(基础),布布扣,bubuko.com

HDUOJ --2544最短路(基础)

原文:http://www.cnblogs.com/gongxijun/p/3574556.html

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