zxy的长跑
题号:NC21662
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

zxy是一位运动健将,酷爱长跑,今天他来到了这样一座城市,这座城市有N个路口,M个街道,路口以1至N编号,zxy希望在这里进行一场长跑,为了不感到乏味,他希望在不重复经过街道的情况下跑过所有的街道(可以经过重复的路口),所以你的任务就是帮助他找到一条路线。

输入描述:

单组数据 第一行两个数字N和M(1 <= N <= 100 , 1 <= M <= 500)

之后M行每行两个数字t,s代表两个路口之间有一条街道(双向边)

(1 <= t, s, <= N 城市不一定连通,且两个路口之间可以连任意条街道,且自己不会和自己相连

输出描述:

若有解,输出M + 1个数,代表zxy依次通过的路口编号,若有多解,输出字典序最小的解,数字之间一个空格,结尾不要有多余空格,若无解,输出-1
示例1

输入

复制
6 7
1 2
2 3
1 3
4 5
5 6
4 6
3 4

输出

复制
3 1 2 3 4 5 6 4