Time Limit: 1000MS
Memory Limit: 65536K

Total Submissions: 59755
Accepted: 20336

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

Hint

INPUT DETAILS:
There are five landmarks.
OUTPUT DETAILS:
Bessie can get home by following trails 4, 3, 2, and 1.

Source

USACO 2004 November

题解:

        ①啊其实就是粘一个BFS-SPFA的板子。

#include<stdio.h>
#define go(i,a,b) for(int i=a;i<=b;i++)
#define fo(i,a,x) for(int i=a[x],v=e[i].v;i;i=e[i].next,v=e[i].v)
struct E{int v,next,w;}e[5002];
int n,m,head[2003],d[2003],k=1,U,V,W;
void ADD(int u,int v,int w){e[k]=(E){v,head[u],w};head[u]=k++;}
void dfs(int u){fo(i,head,u)if(d[u]+e[i].w<d[v])d[v]=d[u]+e[i].w,dfs(v);}
int main()
{
scanf("%d%d",&m,&n);
go(i,1,m)scanf("%d%d%d",&U,&V,&W),ADD(U,V,W),ADD(V,U,W);
go(i,1,n)d[i]=1e9;d[1]=0;dfs(1);printf("%d\n",d[n]);return 0;
}//Paul_Guderian

你要成为那美丽的向阳花,在布满创痛的凄风苦雨中,

坚韧地辉煌地绽放……——————汪峰《向阳花》

最新文章

  1. Linux 信号(一)—— kill 函数
  2. angularJS 服务-$provide里factory、service方法
  3. 用HTML5 CANVAS做自定义路径的动态效果图片!
  4. linux yum 工具
  5. 使用UG UISTYLER 窗体编辑器,创建对话框 part 2
  6. javascript百度地图添加一个普通标注点(2014-3-8 记)
  7. Java Job
  8. 1、C到C++安全性增强
  9. 页面瀑布流布局的实现 javascript+css
  10. PV是什么意思
  11. 20150414---ListView简介(web)
  12. HTML---网页编程(1)
  13. iOS cell自动换行
  14. 【Leetcode】二叉树简单路径最大和问题
  15. icon
  16. OPENCV图像特征点检测与FAST检测算法
  17. SQL语句中日期的计算方法大全
  18. mac电脑操作
  19. 为什么天线的回波损耗以-10dB大小来衡量?
  20. HIT创业感言:只有长寿的企业才有持续价值

热门文章

  1. 返回固定数据的web服务器
  2. JQuery制作网页—— 第二章 JavaScript操作BOM对象
  3. ntp网络时间服务搭建
  4. thymelef模板报错 the entity name must immediately follow the &#39;&amp;&#39; in the entity reference
  5. 详解JavaScript中的arc的方法
  6. python创建字典
  7. dategrip破解
  8. 2753: [SCOI2012]滑雪与时间胶囊
  9. printf(&quot;%d \n&quot;, -1 &lt; sizeof(int) ) Implicit conversion
  10. Erlang OTP设计原则Gen_Fsm行为[转]