问题3698--[JSOI2009]旅行

3698: [JSOI2009]旅行

时间限制: 1 Sec  内存限制: 512 MB
提交: 0  解决: 0
[提交] [状态] [讨论版] [命题人:]

题目描述

2009的新年即将到来,JSK决定开车去拜访他小镇上的所有朋友,由于他在每一个街道都有一个朋友,他开始考虑如何使旅程尽可能地短。很快他意识到最短的方法就是经过所有的街道一次且仅一次。很自然地,他希望能在旅行结束时回到开始的地方,即他父母的房子。 JSK计划他的环城旅行:城镇的街道编号由1到n(n<1995),交汇点又由1到44命名(m<44),没有哪个交汇点连接了多于44个街道。所有的交汇点有着不同的数字编号。每个街道恰好联接着两个交汇点。任两个街道的数字编号不同。如果存在一个以上满足条件的旅行路径,则按旅行经过的街道顺序排列街道编号,选择其字典序最小的那一个路径。由于JSK连一条这样的街道都无法找到,只有请你帮他写一个程序来找这样最短的旅行路径。如果不存在这样的路径则打印出一条信息。假定JSK住在和街道1相联的编号较小的那个交汇点。城镇中每一个街道都是相同的(不是死胡同),任两个街道之间有路可以达到。这些街道很窄因此一旦车进了一条路它不可能调头回走。

输入

输入文件每一行包括三个整数x,y,z,其中x>0,y>0适合编号为z的街道相连的交汇点编号。如果x=0,y=0则标志结束。

输出

输出文件共一行,描述了JSK的环城旅行(街道号的序列,由空格隔开)。如果没有发现满足条件的环城路线。则该行给出信息:Round trip does not exist。

样例输入

输入1
1 2 1
2 3 2
3 1 6
1 2 5
2 3 3
3 1 4

输入2
1 2 1
2 3 2
1 3 3
2 4 4

样例输出

输出1
1 2 3 4 5 6

输出2
Round trip does not exist

来源/分类

 

[提交] [状态]