#P4038. [JSOI2010] 旅行

[JSOI2010] 旅行

题目描述

2009 的新年即将到来,JSK 决定开车去拜访他小镇上的所有朋友,由于他在每一个街道都有一个朋友,他开始考虑如何使旅程尽可能地短。很快他意识到最短的方法就是经过所有的街道一次且仅一次。很自然地,他希望能在旅行结束时回到开始的地方,即他父母的房子。

JSK 计划他的环城旅行:城镇的街道编号为 1n1\sim n,交汇点编号为 1m1\sim m ,没有哪个交汇点连接了多于 4444 个街道。所有的交汇点有着不同的数字编号。

每个街道恰好联接着两个交汇点,任两个街道的数字编号不同。如果存在一个以上满足条件的旅行路径,则按旅行经过的街道顺序排列街道编号,选择其字典序最小的那一个路径。

由于 JSK 连一条这样的街道都无法找到,只有请你帮他写一个程序来找这样最短的旅行路径。如果不存在这样的路径则打印出一条信息。假定 JSK 住在和街道 11 相连的编号较小的那个交汇点。

城镇中每一个街道都是相同的(不是死胡同),任两个街道之间有路可以达到。这些街道很窄因此一旦车进了一条路它不可能调头回走。

输入格式

每一行包括三个整数 x,y,zx,y,z,若 x>0x>0y>0y>0 表示与编号为 zz 的街道相连的交汇点编号。如果 x=0x=0y=0y=0 则标志输入结束。

输出格式

输出文件共一行,描述了 JSK 的环城旅行(街道号的序列,由空格隔开)。如果没有发现满足条件的环城路线。则该行给出信息: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 0
1 2 3 5 4 6
1 2 1
2 3 2
1 3 3
2 4 4
0 0 0
Round trip does not exist

提示

【数据范围】
1n19941\le n \le 19941m431\le m \le 43