poj 3255
来源:互联网 发布:2017年云南旅游数据 编辑:程序博客网 时间:2024/05/17 22:49
#include <bits/stdc++.h>using namespace std;#define INF 0x7fffffftypedef pair<int, int> P;#define maxn 100000+10struct edge{ int to; int cost; edge(){} edge(int to_, int cost_) { to = to_; cost = cost_; }};int d[maxn], d2[maxn];int N, R;vector<edge> G[maxn];void dijkstra(int s){ priority_queue<P, vector<P>, greater<P> >que; fill(d, d+N, INF); fill(d2, d2+N, INF); d[s] = 0; que.push(P(0,s)); while(!que.empty()) { P p = que.top(); que.pop(); int v = p.second, dist = p.first; if(d2[v] < dist) continue; for(int i=0; i<G[v].size(); i++) { edge e = G[v][i]; int a = dist + e.cost; if(d[e.to] > a) { swap(d[e.to] , a); que.push(P(d[e.to], e.to)); } if(d2[e.to] > a && d[e.to] < a) { d2[e.to] = a; que.push(P(d2[e.to], e.to)); } } }}int main(){ cin>>N>>R; int u, v, w; for(int i=0; i<R; i++) { cin>>u>>v>>w; G[u-1].push_back(edge(v-1, w)); G[v-1].push_back(edge(u-1, w)); } dijkstra(0); cout<<d2[N-1]<<endl; return 0;}
0 0
- POJ 3255
- poj 3255
- poj 3255
- poj 3255
- POJ 3255
- POJ 3255
- poj 3255
- poj 3255
- poj 3255
- poj 3255
- POJ 3255
- poj 3255
- POJ 3255
- poj 3255 Roadblocks
- poj 3255 Roadblocks
- poj 3255 求次大最短路
- POJ-3255-Roadblocks
- POJ 3255 Roadblocks
- 个人作业
- Google推荐的图片加载库Glide介绍
- 第四周 阅读程序 3
- E. Anya and Cubes (CF #297 (Div. 2) 折半搜索)
- 第四周 项目三-用对象数组操作长方柱类
- poj 3255
- 【C语言】求100到200之间的素数。
- Redis内存存储结构分析
- spark二次开发之插件
- 第四周项目一三角形的构造函数---设计默认构造函数
- 新浪PHP面试题(赋答案)
- linux shell下除了某个文件外的其他文件全部删除的命令
- 喷水装置(二)
- 腾讯php部分面试题答案