9018:骑马修栅栏
来源:互联网 发布:mac怎么看系统 编辑:程序博客网 时间:2024/04/29 00:27
题目描述
Farmer John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。
每一个栅栏连接两个顶点,顶点用1到500标号(虽然有的农场并没有500个顶点)。一个顶点上可连接任意多(>=1)个栅栏。两顶点间可能有多个栅栏。所有栅栏都是连通的(也就是你可以从任意一个栅栏到达另外的所有栅栏)。
你的程序必须输出骑马的路径(用路上依次经过的顶点号码表示)。当存在多组解的情况下,输出第一个节点号码较小的,如果还有多组解,输出第二个节点号码较小的,等等。
输入数据保证至少有一个解。
输入
第1行: 一个整数F(1 <= F <= 1024),表示栅栏的数目
第2到F+1行: 每行两个整数i, j(1 <= i,j <= 500)表示这条栅栏连接i与j号顶点。
输出
输出应当有F+1行,每行一个整数,依次表示路径经过的顶点号。注意数据可能有多组解,但是只有上面题目要求的那一组解是认为正确的。
样例输入
91 22 33 44 24 52 55 65 74 6
样例输出
1234254657
题解
这题很容易看出是一个欧拉回路,需要先找到两个奇数度的点(如没有则任意选择一个偶数点)进行dfs遍历。
代码
0 0
- 9018:骑马修栅栏
- 骑马修栅栏
- 骑马修栅栏
- 骑马修栅栏
- CodeVS2019 骑马修栅栏
- 骑马修栅栏
- P2731 骑马修栅栏
- [P2731]骑马修栅栏
- 骑马修栅栏
- 骑马修栅栏题解
- 1071: 骑马修栅栏
- usaco3.3.2 骑马修栅栏
- usaco 3.3 骑马修栅栏
- 骑马修栅栏(欧拉路)
- codevs 骑马修栅栏 2039
- 骑马修栅栏(标程)
- luoguP2731 骑马修栅栏 题解
- 【USACO3.3.1】骑马修栅栏 欧拉路
- 建立单链表并交换表中任意两个元素
- 可编程渲染管线与着色器语言
- python-opencv时间计算,视频物体追踪标记
- final关键字
- 使用FFMPEG类库分离出多媒体文件中的H.264码流
- 9018:骑马修栅栏
- C++的STL之search()与find_end()
- 广义表C/C++实现详解
- Android 7.0 移除了三项隐式广播
- 练习题 No.4 字典序最小问题(贪心法)
- java中volatile和synchronized区别
- 蓄水池采样算法(Reservoir Sampling)
- ZOJ1525&&POJ1422&&HDU1151-Air Raid
- 结构体数组字节数大小