zoj 2770
来源:互联网 发布:手机淘宝如何关闭店铺 编辑:程序博客网 时间:2024/06/08 06:21
#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 1010;const int MAXM = 23000;const int INF = 100000000;struct Edge{ int u, v, w;}edges[MAXM];int n;int EN;int dist[MAXN];int S[MAXN];void Inite(){ EN = 0; for(int i = 0; i < n; ++i) { dist[i] = INF; } S[0] = 0; S[n] = 0;}bool Bellman_Ford(){ int i, j; for(i = 0; i < n; ++i) { for(j = 0; j < EN; ++j) if(dist[ edges[j].u ] < INF && dist[ edges[j].u ] + edges[j].w < dist[ edges[j].v ]) dist[ edges[j].v ] = dist[edges[j].u] + edges[j].w; } for(j = 0; j < EN; ++j) if(dist[ edges[j].u ] < INF && dist[ edges[j].u ] + edges[j].w < dist[ edges[j].v ]) return false; return true;}int main(){ int i; int m; int C[MAXN]; int u, v, w; while(~scanf("%d %d", &n, &m)) { Inite(); memset(C, 0, sizeof(C)); for(i = 1; i <= n; ++i) { cin>>C[i]; edges[EN].u = i-1; edges[EN].v = i; edges[EN++].w = C[i]; edges[EN].u = i; edges[EN].v = i-1; edges[EN++].w = 0; S[i] = S[i-1] + C[i]; } for(i = 0; i < m; ++i) { cin>>u>>v>>w; edges[EN].u = v; edges[EN].v = u - 1; edges[EN++].w = -w; edges[EN].u = u-1; edges[EN].v = v; edges[EN++].w = S[v] - S[u-1]; } if(!Bellman_Ford()) cout<<"Bad Estimations"<<endl; else cout<<dist[n] - dist[0]<<endl; }}
0 0
- zoj 2770
- ZOJ-2770
- ZOJ Problem Set - 2770
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- Direct3D9和DirectDshow的RGB位图
- PYTHON操作MYSQL时防止SQL注入
- uva 1523 - Helicopter(暴力水题)
- c++学习笔记(11.继承的构造与析构)
- frm-40700 calendar_wrote_date
- zoj 2770
- SQL Server 2005中NTEXT与NVARCHAR(MAX)
- 连续最大积HDU
- performSelector may cause a leak because its selector is unknown
- linux 设备模型(一)对象层
- 基于Qt的FreeType字体轮廓解析
- OpenGL 学习(二)
- Java开发牛人十大必备网站
- Ireport导出Pdf中文不显示