POJ 2387Til the Cows Come Home
2016-05-24 20:52
369 查看
Til the Cows Come Home
Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u
Submit
Status
Practice
POJ 2387
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.
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.
Output
* Line 1: A single integer, the minimum distance that Bessie must travel to get from landmark N to landmark 1.
Sample Input
5 5
1 2 20
2 3 30
3 4 20
4 5 20
1 5 100
Sample Output
90
题解:Dijdtra算法
代码:
Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u
Submit
Status
Practice
POJ 2387
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.
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.
Output
* Line 1: A single integer, the minimum distance that Bessie must travel to get from landmark N to landmark 1.
Sample Input
5 5
1 2 20
2 3 30
3 4 20
4 5 20
1 5 100
Sample Output
90
题解:Dijdtra算法
代码:
#include<cstdio> #include<string> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> using namespace std; #define INF 10000001 int map[1001][1001]; int dis[1001]; bool vis[1001]; int n,m; void dijkstra(int s) { int k; for(int i=1; i<=n; i++) dis[i]=map[s][i],vis[i]=false; vis[s]=true; dis[s]=0; for(int i=1; i<=n; i++) { int MIN=INF; for(int j=1; j<=n; j++) if((!vis[j])&&(dis[j]<MIN)) { k=j; MIN=dis[j]; } vis[k]=true; for(int j=1; j<=n; j++) if((!vis[j])&&(dis[k]+map[k][j]<dis[j])) dis[j]=dis[k]+map[k][j]; } } void init() { for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) { if(i==j) map[i][j]=0; else map[i][j]=INF; } } int main() { int a,b,c; scanf("%d%d",&m,&n); init(); for(int i=0; i<m; i++) { scanf("%d%d%d",&a,&b,&c); map[a][b]=map[b][a]=min(map[a][b],c); } dijkstra(1); printf("%d\n",dis ); return 0; }
相关文章推荐
- android activity 属性记录
- 第6次c++作业
- 冲刺 02
- n^n的末位数字(快速幂)
- 《图解HTTP》学习笔记(四)-返回结果的HTTP状态码
- ubuntu下使用mutt+msmtp发送邮件
- 局域网中抓到NBNS数据包
- 毕设系列—客户端:Vitamio框架开发(1)初次安装及配置
- 第97课: 使用Spark Streaming+Spark SQL+mysql 实现在线动态计算出特定时间窗口下的不同种类商品中的热门商品排名(详细内幕版本)
- 用C++实现一个哈希桶(插入,删除,寻找)
- c++ 中的slipt实现
- 第一个Java应用
- node.js实现微博系统在express3.0+版本下的实现——所遇问题
- Kernel Methods (4) Kernel SVM
- C++第六次实验——项目5
- 剑指offer经典题(利用C++的特性)
- EasyUI ComboTree(树形下拉框) 简单实例
- STL(一):allocator 空间配置器
- JamesMusic浅读--------1,先显示playlist
- hdu 5692 Snacks