Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:256 MB

#1740. [USACO10DEC]苹果交货Apple Delivery

统计

题目描述

   贝西有两个又香又脆的红苹果要送给她的两个朋友。当然她可以走的C(1<=C<=200000)条“牛路”都被包含在一种常用的图中,包含了P(1<=P<=100000)个牧场,分别被标为1..P。没有“牛路”会从一个牧场又走回它自己。“牛路”是双向的,每条牛路都会被标上一个距离。最重要的是,每个牧场都可以通向另一个牧场。每条牛路都连接着两个不同的牧场P1_i和P2_i(1<=P1_i,p2_i<=P),距离为D_i。所有“牛路”的距离之和不大于2000000000。
                3        2       2
           [1]-----[2]------[3]-----[4]
             \"     / \"             /
             7\"   /4  \"3          /2
               \" /     \"         /
               [5]-------[6]------[7]
                    1          2
现在,贝西要从牧场PB(5)开始给PA1(1)和PA2(4)牧场各送一个苹果(PA1和PA2顺序可以调换),那么最短的距离是多少呢?
她最好的路径是:
5 -> 6-> 7 -> 4 -> 3 -> 2 -> 1 
最短距离是12.
当然,三个牧场各不相同。

输入格式:

第一行包含五个用空格间隔的整数:C, P, PB, PA1 和 PA2。
第二行到第C+1行,每行前两个数表示第i条“牛路”连接的两个牧场P1_i和P2_i,第三个数表示他们之间的距离。

输出格式:

一行,送两个苹果最短路途距离。

输入样例#1:

9 7 5 1 4 
5 1 7 
6 7 2 
4 7 2 
5 6 1 
5 2 4 
4 3 2 
1 2 3 
3 2 2 
2 6 3 

输出样例#1:

12