[Usaco2004 Nov]Til the Cows Come Home 带奶牛回家
2018-01-14 22:26
459 查看
题目
题目描述
贝茜在谷仓外的农场上,她想回到谷仓,在第二天早晨农夫约翰叫她起来挤奶之前尽可能多地睡上一觉.由于需要睡个好觉,贝茜必须尽快回到谷仓.农夫约翰的农场上有N(2≤N≤1000)个路标,每一个路标都有唯一的编号(1到N).路标1是谷仓,路标N是贝茜一整天呆在那里的果树园.农场的所有路标之间共有T(1≤T≤2000)条不同长度的供奶牛走的小路(无方向).贝茜对她识别方向的能力不是很自信,所以她每次总是从一条小路的头走到尾,再以这条路的尾作为下一条路的头开始走. 现给出所有路标之间的小路,要求输出贝茜回到谷仓的最短路程(每组输入数据都保证有解).输入
第1行:2个整数T和N.第2到T+1行:每行用空格隔开的三个整数描述一条小路.前两个整数是这条小路的尾和头,
第三个整数是这条小路的长度(不大于100).
输出
一个整数,表示贝茜从路标N到路标1所经过的最短路程样例输入
5 51 2 20
2 3 30
3 4 20
4 5 20
1 5 100
样例输出
90分析
spfa裸题。链式前向星存图,spfa跑一遍完事。
上代码。
冬令营快图论了所以水一发、、、
#include <cstdio> #include <algorithm> #include <cstring> #include <queue> using namespace std; const int N = 10010; const int M = 40010; int n, m; int head , nex[M], to[M], val[M], ce; void add(int u, int v, int w) { to[++ce] = u; nex[ce] = head[v]; head[v] = ce; val[ce] = w; to[++ce] = v; nex[ce] = head[u]; head[u] = ce; val[ce] = w; } int d ; bool used ; queue<int> q; void spfa(int s) { memset(d, 0x3f, sizeof d); d[s] = 0; q.push(s); used[s] = true; while(!q.empty()) { int u = q.front(); q.pop(); used[u] = false; for(int i=head[u]; i; i=nex[i]) { int v = to[i], w = val[i]; if(d[u] + w < d[v]) { d[v] = d[u] + w; if(!used[v]) { used[v] = true; q.push(v); } } } } } int main() { scanf("%d%d", &m, &n); for(int i=1; i<=m; i++) { int u, v, w; scanf("%d%d%d", &u, &v, &w); add(u, v, w); } spfa(1); printf("%d\n", d ); return 0; }几乎无坑点,特别水特别水。。。
相关文章推荐
- 3386/1752: [Usaco2004 Nov]Til the Cows Come Home 带奶牛回家
- [Poj 2387][Usaco2004 Nov]Til the Cows Come Home 带奶牛回家
- bzoj 3386: [Usaco2004 Nov]Til the Cows Come Home 带奶牛回家
- 【poj2387】Til the Cows Come Home 【USACO 2004 November】
- POJ_2387_Til the Cows Come Home(USACO 2004 November)_最短路径
- 1752: [Usaco2005 qua]Til the Cows Come Home (SPFA)
- Til the Cows Come Home(赶牛回家)
- poj2387 Til the Cows Come Home(邻接矩阵,邻接表)
- POJ2387 Til the Cows Come Home [kuangbin] 最短路
- POJ 2387 Til the Cows Come Home dijkstraA
- POJ 2387 Til the Cows Come Home(Dijkstra算法)
- POJ2387 Til the Cows Come Home(最短路径)
- POJ2387 Til the Cows Come Home(dijkstra求图论最短路)
- POJ Til the Cows Come Home【dijkstra+spfa】
- 第一次最短路:POJ 2387 Til the Cows Come Home(bfs方法~)
- POJ 2387 Til the Cows Come Home(最短路 迪杰斯特拉)
- [USACO5.1]圈奶牛Fencing the Cows(凸包模板)
- POJ - 2387 Til the Cows Come Home (最短路)
- POJ 2387 Til the Cows Come Home(Dijkstra判重边)
- A - Til the Cows Come Home (dijkstra算法)