#lydlx06x0B23. 约翰的旅行

约翰的旅行

题目描述

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

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

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

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

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

输入格式

输入包含多组测试用例。

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

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

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

样例解释

第一组测试用例

  • 街道:1连接(1,2),2连接(2,3),3连接(3,1),4连接(3,1),5连接(1,2),6连接(3,1)
  • 实际上同一个路口对之间可能有多个街道(编号不同)。
  • 存在欧拉回路(每个路口度数为偶数),字典序最小的街道序列是 1 2 3 5 4 6。

第二组测试用例

  • 街道:1(1,2),2(2,3),3(1,3),4(2,4)
  • 图不连通或者存在奇度顶点(具体看:1度=2,2度=3,3度=2,4度=1),不存在欧拉回路,输出 Round trip does not exist.

数据范围

  • n<1995n < 1995(街道数量)
  • m44m \le 44(路口数量)

时空限制

  • 时间限制:1 秒
  • 空间限制:64 MB