编程题
旅行 ### 题目描述 2009 的新年即将到来,JSK 决定开车去拜访他小镇上的所有朋友,由于他在每一个街道都有一个朋友,他开始考虑如何使旅程尽可能地短。很快他意识到最短的方法就是经过所有的街道一次且仅一次。很自然地,他希望能在旅行结束时回到开始的地方,即他父母的房子。 JSK 计划他的环城旅行:城镇的街道编号为 $1\sim n$,交汇点编号为 $1\sim m$ ,没有哪个交汇点连接了多于 $44$ 个街道。所有的交汇点有着不同的数字编号。 每个街道恰好联接着两个交汇点,任两个街道的数字编号不同。如果存在一个以上满足条件的旅行路径,则按旅行经过的街道顺序排列街道编号,选择其字典序最小的那一个路径。 由于 JSK 连一条这样的街道都无法找到,只有请你帮他写一个程序来找这样最短的旅行路径。如果不存在这样的路径则打印出一条信息。假定 JSK 住在和街道 $1$ 相连的编号较小的那个交汇点。 城镇中每一个街道都是相同的(不是死胡同),任两个街道之间有路可以达到。这些街道很窄因此一旦车进了一条路它不可能调头回走。 ### 输入描述 每一行包括三个整数 $x,y,z$,若 $x>0$,$y>0$ 表示与编号为 $z$ 的街道相连的交汇点编号。如果 $x=0$,$y=0$ 则标志输入结束。 其中,$1\le n \le 1994$,$1\le m \le 43$。 ### 输出描述 请输出一行,描述了 JSK 的环城旅行(街道号的序列,由空格隔开)。如果没有发现满足条件的环城路线。则该行给出信息:`Round trip does not exist`。 ### 输入输出样例 #### 示例 1 >输入 ```txt 1 2 1 2 3 2 3 1 6 1 2 5 2 3 3 3 1 4 0 0 0 ``` >输出 ```txt 1 2 3 5 4 6 ```
查看答案
赣ICP备20007335号-2