有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
说明
数据随机生成