bellman_ford算法模板 (poj 3259)
来源:互联网 发布:颜值高的游戏本知乎 编辑:程序博客网 时间:2024/06/05 12:43
#include <iostream>#include <vector>using namespace std;int F,N,M,W;const int INF=1<<30;struct Edge { int s,e,w; Edge(int ss,int ee,int ww):s(ss),e(ee),w(ww) {} Edge() {}};vector<Edge> edges;int dist[1000];int Bellman_ford(int v) { for(int i=1; i<=N; ++i) dist[i]=INF; dist[v]=0; for(int k=1; k<N; ++k) { for(int i=0; i<edges.size(); ++i) { int s=edges[i].s; int e=edges[i].e; if(dist[s]+edges[i].w<dist[e]) dist[e]=dist[s]+edges[i].w; } } for(int i=0; i<edges.size(); ++i) { int s=edges[i].s; int e=edges[i].e; if(dist[s]+edges[i].w<dist[e]) return true; } return false;}int main() { cin >> F; while(F--) { edges.clear(); cin >> N>>M>>W; for(int i=0; i<M; ++i) { int s,e,t; cin >> s>>e>>t; edges.push_back(Edge(s,e,t)); edges.push_back(Edge(e,s,t)); } for(int i=0; i<W; i++) { int s,e,t; cin >> s>> e>>t; edges.push_back(Edge(s,e,-t)); } if(Bellman_ford(1)) cout << "YES"<<endl; else cout << "NO" <<endl; }}
阅读全文
0 0
- bellman_ford算法模板 (poj 3259)
- POJ 3259 bellman_ford算法
- POJ 3259 Wormholes (bellman_ford算法判负环)
- POJ-3259 Wormholes (bellman_ford算法)
- Poj 3259(bellman_ford)
- Poj 1860 && poj 3259 剖析bellman_ford算法
- 单源最短路 bellman_ford算法(模板)
- POJ 3259 Wormholes (bellman_ford)
- POJ 3259 Wormholes (Bellman_Ford)
- POJ 3259:Wormholes:bellman_ford算法判负环
- POJ 1860:Currency Exchange(Bellman_Ford算法)
- poj 1860 Currency Exchange (Bellman_ford 算法)
- POJ 1860 bellman_ford算法
- poj 3259 最短路判负环 spfa算法和Bellman_ford算法
- POJ 3259 Wormholes(最短路Bellman_Ford)
- Bellman_ford poj 3259
- POJ 3259 Wormholes bellman_ford
- POJ 3259 Bellman_Ford
- java集合类详解
- Tomcat运行程序时的配置
- HDU 6052 To my boyfriend (计数)
- 2440按键驱动分析
- eclipse log4j配置使用
- bellman_ford算法模板 (poj 3259)
- 2017/8/5 第十三天
- 20170808(工具包中一些常用的方法)
- ArcGIS10.2下载安装 License Manager、ArcGIS Desktop、ArcGIS Server软件下载及破解
- 对Qt Creator的认识
- Windows下caffe安装详解(cpu+gpu+matcaffe+pycaffe)
- myeclipse上如何查看JDK源码
- ECMAScript6介绍
- 【Maven用户手册】Maven之pom.xml配置文件详解