首页 > 其他 > 详细

九度 OJ1008 Unsoved problem

时间:2014-03-07 14:00:28      阅读:468      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
 1 #include<stdio.h>
 2 #include<string.h>
 3 #define inf 0xfffff
 4 int g[1001][1001];
 5 int lowcost[1000001],used[1000001];
 6 void dijstra(int n,int s)
 7 {
 8     int i,j,k,min;
 9     memset(lowcost,0,sizeof(lowcost));
10     memset(used,0,sizeof(used));
11     for(i=1;i<=n;i++)
12     lowcost[i]=g[i][s];
13     used[s]=1;
14     for(i=1;i<n;i++)
15     {
16         j=s;
17         min=inf;
18         for(k=1;k<=n;k++)
19         {
20             if(lowcost[k]<min&&!used[k])
21             min=lowcost[k],j=k;
22         }
23         used[k]=1;
24         for(k=1;k<=n;k++)
25         {
26             if(lowcost[j]+g[k][j]<lowcost[j]&&!used[k])
27             lowcost[k]=g[k][j]+lowcost[j],
28             g[k][s]=g[s][k]=lowcost[k];
29         }
30     
31 }
32 }
33 int main()
34 {
35     int n,m,a,b,d,p,i,j;
36     scanf("%d %d",&n,&m);
37     for(i=1;i<=n;i++)
38     {
39         for(j=1;j<=n;j++)
40         {
41             g[i][j]=inf;
42         }
43         g[i][i]=0;
44     }
45     for(i=0;i<m;i++)
46     {
47         scanf("%d %d %d %d",&a,&b,&d,&p);
48         g[a][b]=g[b][a]=d;
49     }
50     int s,t;
51     dijstra(n,s);
52     return 0;
53 }
View Code

http://ac.jobdu.com/problem.php?pid=1008

九度 OJ1008 Unsoved problem,布布扣,bubuko.com

九度 OJ1008 Unsoved problem

原文:http://www.cnblogs.com/zeze/p/jiudu1008.html

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