题库/Y1010

#Y1010. John‘s Trip

    传统题 难度: 普及 标签>一本通欧拉道路存在条件Hierholzer欧拉路构造
时间限制1000 ms
内存限制64 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

Y1010 · John‘s Trip

退出在线编程模式
普及 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制64 MiB
通过率—0 / 0 次提交

题目描述

来自 CERC 1995 John 有很多朋友住在不同的街,John 想去访问每位朋友,同时希望走的路最少。因为道路很窄,John 在一条路上不能往回走。John 希望从家里出发,拜访完所有的朋友后回到自己的家,且总的路程最短。John 意识到如果可以每条道路都只走一次然后返回起点应该是最短的路径。写一个程序帮助 John 找到这样的路径。给出的每条街连接两个路口。街分别编号为 11 到 nn,路口分别编号为 11 到 mm。

输入

多组数据。 每组数据有多行,每行由三个整数组成:x,y,zx,y,z。zz 为这条街的编号,xx 和 yy 表示这条街连接的两个路口的编号。可能有自环。 对于每组数据,John 住在第一行中连接的两个顶点中编号较小的路口处。所有的街都可以连通到其他街上。00表示一组数据的结束。 再一个00表示输入的结束。

输出

如果能找到所有街道遍历一次的回路,输出找到的路径,两个整数之间用一个空格隔开,行末无空格。如果不存在,输出"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.

提示

数据范围与提示: 最多有 19951995 条街,最多 4444 个路口。

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共5个测试点,非原站或官方原始数据。总分100分。