#215. 「John's trip」 约翰的旅行
「John's trip」 约翰的旅行
约翰买了一辆新车,想要坐车去探望他的朋友们。
他的朋友数量很多,城镇上的每条街上都有他的朋友。
已知约翰所在的城镇,有n条街道(编号1到n),m个路口(编号1到m),每条街道都被两个路口连接,任意两条街道之间都是互通的。
城镇的街道和路口构成了一个无向连通图。
现在请你帮他找出一个旅行方案使得他从他的家所在的路口出发,经过所有的街道且每条街道只走一次,并且最终可以回到出发点。
输入格式
输入包含多组测试用例。
每组测试用例包含若干行,每行包含三个整数x,y,z,表示路口x和路口y之间有一条街道z。
假设每组测试用例中,第一行输入的路口 x 和 路口 y 中,数值较小的那个路口,即为约翰的家所在的路口。
当输入0 0时,表示该组测试用例结束输入。
当一组测试用例结束输入后,再次输入0 0时,表示输入结束。
输出格式
若存在方案,则按顺序输出方案中经过的街道的编号。
若存在多种方案,则输出字典序最小的那个。
若不存在方案,则输出 “Round trip does not exist.”。
数据范围
,
输入样例:
1 2 1
2 3 2
3 1 6
1 2 5
2 3 3
3 1 4
0 0
1 2 1
2 3 2
1 3 3
2 4 4
0 0
0 0
输出样例:
1 2 3 5 4 6
Round trip does not exist.
来源
- 《算法竞赛进阶指南》
- acwing 可能含有视频讲解