Logo Universal Online Judge

UOJ

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

#916. 路由选择

统计

有N(<=2000)台路由器连成的一个网络。信号要从其中的一台传到另一台。为了保证传输正确,信号不仅仅只是通过最短的那条路传播,而是会选择第一、第二和第三最短路传播。现在你的任务是在给定N个路由构成的网络和信号传递的起点和终点的情况下输出前三短路。注意:这里的每一条路不能完全属于另一条。如:有路1-3-5,不能再出现1-3-5-6-5.
输入:
第一行3个数,N,S,E 分别表示路由的个数。起点和终点。
接下来M(M不告诉你)行。
每行3个数,a,b,c表示路由器a和b的距离为c(保证没有重边,即一对(a,b)只会出现一次,且(b,a)也不会再出现)
输出:
第一行首先有一个数x表示找到的最短路的条数。(x最大为3)接下来x个数,依次表示第一最短路到第x最短路的长度。
接下来x行,每行描述一条最短路。
样例:
输入:

10 2 8
1 2 13
1 5 31
1 6 44
1 7 26
1 8 40
2 3 30
3 8 8
3 9 24
4 5 24
4 9 23
5 6 2
5 7 19
5 8 9
5 9 19
6 8 46
6 9 16
8 9 29
8 10 7
9 10 11
输出:

3 38 53 53 
2 3 8 
2 1 8 
2 1 5 8 

说明

数据随机生成