poj 2387 最短路 spfa 实现
来源:互联网 发布:python百度地图 编辑:程序博客网 时间:2024/06/18 15:24
http://poj.org/problem?id=2387
题目大意就是求最短路,从n到1的最短路。就用来熟悉一下spfa的写法。
一开始贡献了好几次wa,结果发现是因为n,m写反了。。。。
没有什么拐弯的地方,来熟悉spfa直接附上代码:
#include <iostream>#include <cstdio>#include <cstring>#include <queue>#include <vector>using namespace std;#define M 2009#define INF 0x3f3f3f3fstruct edge{ int to,w;};bool inq[M];vector <edge> g[M];int dis[M];int n,m;void spfa(int s){ for(int i = 1;i <= n;i++) { dis[i] = INF; inq[i] = false; } dis[s] = 0; queue<int> q; q.push(s); inq[s] = true; while(!q.empty()) { s = q.front(); inq[s] = false; q.pop(); for(int i = 0;i < g[s].size();i++) { int v = g[s][i].to; int w = g[s][i].w; if(dis[v] > dis[s]+w) { dis[v] = dis[s]+w; if(!inq[v]) { inq[v] = true; q.push(v); } } } }}int main(){ while(scanf("%d %d",&m,&n)==2) //m n写反了···· 贡献好几次WA { for(int i = 1;i <= n;i++) g[i].clear(); for(int i = 0;i < m;i++) { int a,b,c; scanf("%d %d %d",&a,&b,&c); edge e; e.to = b;e.w = c; g[a].push_back(e); e.to = a; g[b].push_back(e); //无向图 变化成双向的。 } spfa(n); printf("%d\n",dis[1]); } return 0;}
0 0
- poj 2387 最短路 spfa 实现
- poj 2387最短路 使用SPFA
- POJ 1847 Tram --set实现最短路SPFA
- POJ 3259 有负权的最短路 SPFA
- poj 1847 Tram (SPFA最短路)
- poj 1502--MPI Maelstrom (最短路spfa)
- poj 1511 Invitation Cards(spfa最短路)
- poj-2240-Arbitrage-spfa-最短路
- poj 3268 (最短路 spfa)
- poj 2457 Part Acquisition 最短路spfa
- poj 3072 Robot 最短路spfa
- poj 3072 Robot 最短路spfa
- poj 3328 Cliff Climbing 最短路 spfa
- poj 1135 Domino Effect 最短路spfa
- poj 3037 Skiing 最短路spfa
- POJ 1860 Currency Exchange(最短路SPFA)
- POJ 4046 - Sightseeing(最短路‘spfa)
- POJ 1511 Invitation Cards 最短路SPFA
- Property Animation
- 做U3d编辑器xlsx批量生成csv和python批量转
- Alexa网站排名查询文档
- 探索Android中的Parcel机制(上)
- LINUX7安装oracle12C遭遇ins_precomp.mk报错
- poj 2387 最短路 spfa 实现
- Android学习(3)TextView和EditView
- C++ primary 第四版3.8习题解答
- 关于苹果的证书问题
- Ubuntu中利用Doxygen生成开源程序包的API文档
- 博主应Autodesk邀请,以2D到3D的跨越为主题做网络讲座(4.23号下午)
- java中String类与变量相加解释一旦创建了String对象,那它的值就无法改变了
- 在MyEclipse中安装SWT/Swing设计器
- C++设计模式之原型模式