#3933. 约翰的旅行

约翰的旅行

题目描述

约翰买了一辆新车,想要坐车去探望他的朋友们。

他的朋友数量很多,城镇上的每条街上都有他的朋友。

已知约翰所在的城镇,有n n 条街道(编号 1 到n n),mm 个路口(编号 1 到 mm),每条街道都被两个路口连接,任意两条街道之间都是互通的。

城镇的街道和路口构成了一个无向连通图。

现在请你帮他找出一个旅行方案使得他从他的家所在的路口出发,经过所有的街道且每条街道只走一次,并且最终可以回到出发点。

输入格式

输入包含多组测试用例。

每组测试用例包含若干行,每行包含三个整数 xyzx,y,z,表示路口 xx 和路口 yy 之间有一条街道 zz

假设每组测试用例中,第一行输入的路口 xx 和 路口 yy 中,数值较小的那个路口,即为约翰的家所在的路口。

当输入 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.

数据范围

n<1995,m44n<1995, m≤44

来源

  • POJ1041
  • 算法竞赛进阶指南