码迷,mamicode.com
首页 > 其他好文 > 详细

spfa模板

时间:2017-04-08 21:21:48      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:can   style   main   cst   ++   names   color   cto   size   

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <vector>
 4 #include <queue>
 5 using namespace std;
 6 vector<int> to[1001];
 7 queue<int> que;
 8 int x,y,z,n,m,a,b,d[1001],w[1001][1001];
 9 bool vis[1001];
10 int main()
11 {
12     scanf("%d%d",&n,&m);
13     for (int i=1;i<=m;i++)
14     {
15         scanf("%d%d%d",&x,&y,&z);
16         to[x].push_back(y);to[y].push_back(x);
17         w[y][x]=w[x][y]=z;
18     }
19     scanf("%d%d",&a,&b);
20     memset(d,0x7f,sizeof(d));
21     que.push(a);d[a]=0;
22     while(!que.empty())
23     {
24         int exp=que.front(),sz=to[exp].size();vis[exp]=0;que.pop();
25         for (int i=0;i<sz;i++)
26         {
27             int end=to[exp][i];
28             if(d[end]>w[exp][end]+d[exp])
29             {
30                 d[end]=w[exp][end]+d[exp];
31                 if (!vis[end]) {vis[end]=1;que.push(end);}
32             }
33         }
34     }
35     printf("%d",d[b]);
36 }

 

spfa模板

标签:can   style   main   cst   ++   names   color   cto   size   

原文地址:http://www.cnblogs.com/algonote/p/6683025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!