2552: 地铁路线
Memory Limit:128 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:250
Solved:118
Description
公元8888年,大部分地球居民都迁移至S星球。在S星球,有n个城市,m段高速地铁。地铁是按路程来收费的,举个例子,城市1到城市n的路程是99公里,那么收取99个S币。如果城市1到城市n有多条路径可以选择,按最短那条路来收费。
现在,有一个好人要坐地铁,他要从城市x坐到城市y,请问他需要花费多少个S币?
为什么说他是好人呢?因为他从来不做“损人”的事情。比如说,他做地铁,从x到y,可以有很多条线路,有些线路长,有些线路短,如果选了线路长的,那么地铁不就“亏”了吗?因此,他会选择最短那条线路。请输出这个好人坐地铁的行走路线。
Input
第一行:4个整数n、m、x、y
接下来m行,每行3个整数a、b、c,表示城市a到城市b的路程是c公里
Output
第一行:输出费用
第二行:输出路线
(如果不能到达,仅输出一行,即一个0)
Sample Input Copy
5 5 1 3
1 2 5
2 3 8
1 4 2
4 5 2
5 3 2
Sample Output Copy
6
1 4 5 3
HINT
数据范围
5 <= n <= 10000
10 <= m <= 100000
1 <= a、b <= n
1 <= c <= 100
60%的数据:n <= 5000
80%的数据:n <= 8000