题目描述
贝西有两个又香又脆的红苹果要送给她的两个朋友。当然她可以走的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