POJ 2387 Til the Cows Come Home(迪杰斯特拉/优先队列/最短路)
2016-05-18 21:40
453 查看
题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18265
代码:
代码:
#include<stdio.h> #include<queue> #include<vector> using namespace std; const int maxn=2005; vector<pair<int,int> >E[maxn]; int d[maxn]; int n,m; void init() { for(int i=0;i<maxn;i++)E[i].clear(); for(int i=0;i<maxn;i++)d[i]=1e9; } int main() { init(); scanf("%d%d",&n,&m); for(int i=0;i<n;i++) { int x,y,z;scanf("%d%d%d",&x,&y,&z); E[x].push_back(make_pair(y,z)); E[y].push_back(make_pair(x,z)); } priority_queue<pair<int,int> >Q; Q.push(make_pair(-d[1],1)); d[1]=0; while(!Q.empty()) { int now=Q.top().second; Q.pop(); for(int i=0;i<E[now].size();i++) { int v=E[now][i].first; if(d[v]>d[now]+E[now][i].second) { d[v]=d[now]+E[now][i].second; Q.push(make_pair(-d[v],v)); } } } printf("%d\n",d[m]); }
相关文章推荐
- 八、三个修饰符
- linux命令详解(一)
- hdu 3183 A Magic Lamp
- C语言版的日历
- linux————find的一些简单命令
- java之Intager比较
- Ajax调用返回json,xml数据类型(0517--pm)
- HDU 1542 —— Atlantis 【矩形面积并:扫描线】
- POJ - 3225 - Help with Intervals 【区间的并、交、差、对称差】
- POJ - 2528 - Mayor's posters 【线段树+离散化+补点】
- UVA - 11992 —— Fast Matrix Operations 【二维线段树转一维】
- UVAlive - 3938 —— Ray, Pass me the dishes! 【线段树】
- UVAlive - 4329 —— Ping pong 【树状数组】
- UVA - 11235 —— Frequent values 【RMQ】
- Android Studio 1.5.1更新至2.1.1
- RMQ问题 —— Sparse-Table算法
- POJ - 3468 - A Simple Problem with Integers 【线段树 区间修改】
- HDU 1166 —— 敌兵布阵 【树状数组 or 线段树】
- hiho 1290 —— Demo Day 【DP】
- hiho 1033 —— 交错和 【数位DP】