POJ 2387 最短路Dijkstra算法
来源:互联网 发布:红警扫矿软件破解版 编辑:程序博客网 时间:2024/05/01 20:48
Til the Cows Come Home
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 33607 Accepted: 11383
Description
Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty sleep, so she wants to get back as quickly as possible.
Farmer John's field has N (2 <= N <= 1000) landmarks in it, uniquely numbered 1..N. Landmark 1 is the barn; the apple tree grove in which Bessie stands all day is landmark N. Cows travel in the field using T (1 <= T <= 2000) bidirectional cow-trails of various lengths between the landmarks. Bessie is not confident of her navigation ability, so she always stays on a trail from its start to its end once she starts it.
Given the trails between the landmarks, determine the minimum distance Bessie must walk to get back to the barn. It is guaranteed that some such route exists.
Farmer John's field has N (2 <= N <= 1000) landmarks in it, uniquely numbered 1..N. Landmark 1 is the barn; the apple tree grove in which Bessie stands all day is landmark N. Cows travel in the field using T (1 <= T <= 2000) bidirectional cow-trails of various lengths between the landmarks. Bessie is not confident of her navigation ability, so she always stays on a trail from its start to its end once she starts it.
Given the trails between the landmarks, determine the minimum distance Bessie must walk to get back to the barn. It is guaranteed that some such route exists.
Input
* Line 1: Two integers: T and N
* Lines 2..T+1: Each line describes a trail as three space-separated integers. The first two integers are the landmarks between which the trail travels. The third integer is the length of the trail, range 1..100.
* Lines 2..T+1: Each line describes a trail as three space-separated integers. The first two integers are the landmarks between which the trail travels. The third integer is the length of the trail, range 1..100.
Output
* Line 1: A single integer, the minimum distance that Bessie must travel to get from landmark N to landmark 1.
Sample Input
5 51 2 202 3 303 4 204 5 201 5 100
Sample Output
90
Hint
INPUT DETAILS:
There are five landmarks.
OUTPUT DETAILS:
Bessie can get home by following trails 4, 3, 2, and 1.
There are five landmarks.
OUTPUT DETAILS:
Bessie can get home by following trails 4, 3, 2, and 1.
Source
USACO 2004 November
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define inf 0x3f3f3f3f#define N 1005int map[N][N],d[N],s[N];int main(){int t,n,a,b,val;while(~scanf("%d%d",&t,&n)){memset(map,inf,sizeof(map));memset(s,0,sizeof(s));for(int i=1;i<=n;i++){d[i]=i;}while(t--){scanf("%d%d%d",&a,&b,&val);if(val<map[a][b])map[a][b]=map[b][a]=val;}for(int i=1;i<=n;i++)d[i]=(i==1?0:inf);for(int i=1;i<=n;i++){int x,mi=inf;for(int j=1;j<=n;j++){if(!s[j]&&d[j]<=mi){mi=d[x=j];}}s[x]=1;for(int j=1;j<=n;j++){d[j]=min(d[j],d[x]+map[x][j]);}}printf("%d\n",d[n]);}return 0;}
0 0
- POJ 2387 最短路Dijkstra算法
- POJ-3268-最短路(dijkstra算法)
- poj-1502(最短路dijkstra算法)
- POJ - 3255 Roadblocks(最短路Dijkstra算法求次最短路)
- 最短路 Dijkstra算法
- 最短路算法Dijkstra
- Dijkstra最短路算法
- 最短路,dijkstra算法。
- 最短路-Dijkstra算法
- 最短路 Dijkstra算法
- 最短路 Dijkstra算法
- Dijkstra最短路算法
- 最短路-Dijkstra算法
- Dijkstra最短路算法
- 最短路Dijkstra算法
- Dijkstra最短路算法
- 最短路Dijkstra算法
- 最短路(Dijkstra算法)
- 基于libVLC的视频播放器
- STM8S003F使用IO口模拟串口(三)使用中断方式发送和接收数据
- MySQL优化之——函数
- CMake 手册详解(七)
- javascript、js操作json方法总结
- POJ 2387 最短路Dijkstra算法
- 日语学习之沪江N3基础 20150619 -6
- VS2010快捷键大全
- 鸿吴宝萃:魏征后人传承百年吴地紫砂文化
- CMake 手册详解(八)
- JSON字符串与JSON对象的区别
- CMake手册详解 (九)
- 关闭Quartz在控制台输出的调试信息
- 工作日记——2015年6月19日