#P1895. Bring Them There
Bring Them There
到3141年,人类文明已遍布银河系。人们使用特殊的超空间隧道在恒星系间穿梭。使用超空间隧道时,需驾驶宇宙飞船飞到源恒星系附近的特定位置,启动超空间跳跃装置,穿过隧道,在目标恒星系附近脱离,再飞往目标行星。整个过程恰好耗时1天。该系统的一个小缺点是:每条隧道每天仅允许1艘飞船使用。
你在“星际商业机器”公司的运输部门工作。今早老板交给你一项新任务:为举办编程竞赛,IBM需要将台超级计算机从公司总部所在地——地球所在的恒星系,运送到Eisiem行星所在的恒星系。由于超级计算机体积庞大,每台都需要整艘飞船运输。你需要设计耗时最少的运输方案。尽管IBM实力雄厚,可随时调用所需隧道,但每条隧道每天仍仅限使用一次(即同一天内,同一隧道不能被两艘飞船使用,即使双向通行也不行)。
第一行包含(恒星系数量)、(隧道数量)、(需运输的超级计算机数量)、(太阳系编号,即地球所在恒星系)和(Eisiem行星所在恒星系编号)(,,,,且)。
接下来行每行包含两个不同整数,表示一条双向隧道连接的两个恒星系编号。隧道不可连接自身,且任意两恒星系间至多有一条隧道。
首行输出,即运送台超级计算机从到的最少天数。接下来行描述运输过程:每行以开头(表示当天移动的飞船数),后跟对整数,表示编号为的飞船从当前恒星系飞往。输入保证存在从到的路径。
输入数据
6 7 4 1 6
1 2
2 3
3 5
5 6
1 4
4 6
4 3
输出数据
4
2 1 2 2 4
3 1 3 2 6 3 4
3 1 5 3 6 4 4
2 1 6 4 6