PKU 3159 Candies
2008-07-10 21:24
309 查看
#include <iostream>
#include <vector>
#include <queue>
#define MAXN 30001
using namespace std;
struct type1
{
int v, w;
bool operator < (const type1& e) const {
return w > e.w;
}
};
int D[MAXN];
int dijk(vector<vector<type1> >& map, int s, int t)
{
priority_queue<type1> q;
bool mk[MAXN] = {false};
type1 e = {s, 0}, ne;
int i, k, tmp;
D[s] = 0;
q.push(e);
while (!q.empty())
{
e = q.top();
q.pop();
if (mk[e.v]) continue;
if (e.v == t) return D[t];
for (mk[e.v] = true, i = 0; i < map[e.v].size(); i++)
{
k = map[e.v][i].v;
if (!mk[k] && (tmp = e.w + map[e.v][i].w) < D[k])
{
D[ne.v = k] = ne.w = tmp;
q.push(ne);
}
}
}
return D[t];
}
int main()
{
int n, m;
int a, b, c;
type1 t;
scanf("%d %d", &n, &m);
vector<vector<type1> > map(n);
for (int i = 0; i < n; i++)
D[i] = INT_MAX;
while (m--)
{
scanf("%d %d %d", &a, &b, &c);
t.v = b - 1;
t.w = c;
map[a-1].push_back(t);
}
printf("%d\n", dijk(map, 0, n-1));
return 0;
}
#include <vector>
#include <queue>
#define MAXN 30001
using namespace std;
struct type1
{
int v, w;
bool operator < (const type1& e) const {
return w > e.w;
}
};
int D[MAXN];
int dijk(vector<vector<type1> >& map, int s, int t)
{
priority_queue<type1> q;
bool mk[MAXN] = {false};
type1 e = {s, 0}, ne;
int i, k, tmp;
D[s] = 0;
q.push(e);
while (!q.empty())
{
e = q.top();
q.pop();
if (mk[e.v]) continue;
if (e.v == t) return D[t];
for (mk[e.v] = true, i = 0; i < map[e.v].size(); i++)
{
k = map[e.v][i].v;
if (!mk[k] && (tmp = e.w + map[e.v][i].w) < D[k])
{
D[ne.v = k] = ne.w = tmp;
q.push(ne);
}
}
}
return D[t];
}
int main()
{
int n, m;
int a, b, c;
type1 t;
scanf("%d %d", &n, &m);
vector<vector<type1> > map(n);
for (int i = 0; i < n; i++)
D[i] = INT_MAX;
while (m--)
{
scanf("%d %d %d", &a, &b, &c);
t.v = b - 1;
t.w = c;
map[a-1].push_back(t);
}
printf("%d\n", dijk(map, 0, n-1));
return 0;
}
相关文章推荐
- pku 3159 Candies(差分约束)
- pku 3159 Candies 第一道Dijkstra+堆维护+差分约束系统的题目
- PKU 3159 Candies 差分约束 SPFA
- pku 3159 Candies
- pku 3159 Candies
- pku 3159 Candies 差分约束
- PKU 3159 Candies
- POJ 3159 candies总结
- pku2886 Who Gets the Most Candies?
- [poj 3159]Candies[差分约束详解][朴素的考虑法]
- POJ 3159 Candies 差分约束 spfa+栈+邻接表
- poj 3159 Candies(差分约束 spfa stack实现)
- POJ 3159 Candies(差分约束)
- POJ 3159 Candies(spfa最短路,差分约束)
- POJ -- 3159 Candies
- POJ 3159 - Candies(查分约束)
- POJ 3159 Candies
- POJ 3159 Candies
- poj-3159 Candies
- POJ 3159 Candies(差分约束+SPFA )