题目名称 872. 骑马修栅栏
输入输出 fenceus.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 8
题目来源 Gravatarsywgz 于2012-07-11加入
开放分组 全部用户
提交状态
分类标签
USACO 欧拉路径
分享题解
通过:369, 提交:793, 通过率:46.53%
GravatarSamle 100 0.000 s 0.00 MiB C++
GravatarRegnig Etalsnart 100 0.000 s 0.00 MiB C++
GravatarYoungsc 100 0.000 s 0.00 MiB C++
Gravatar合金装备布狼牙 100 0.000 s 0.00 MiB C++
Gravatar合金装备布狼牙的小号乌拉尔的银狼 100 0.000 s 0.00 MiB C++
Gravatar戒酒的李白 100 0.000 s 0.00 MiB C++
Gravatarzhk 100 0.000 s 0.00 MiB C++
Gravatarlihaoze 100 0.000 s 0.00 MiB C++
GravatarSUNYU 100 0.002 s 4.26 MiB Pascal
GravatarHzoi_Ivan 100 0.003 s 2.19 MiB C++
关于 骑马修栅栏 的近10条评论(全部评论)
$Help$ 此题怎么做?
Gravatarfsdh
2020-10-19 23:30 7楼
复习
GravatarJustWB
2017-10-12 20:20 6楼
真科学。。。
GravatarHzoi_
2016-01-22 10:53 5楼
为什么这么水的题我要交这么多遍……
Gravatar啊吧啦吧啦吧
2015-10-12 18:48 4楼
这个让我知道了怎么快速求欧拉通路
GravatarHouJikan
2014-09-17 21:19 3楼
回复 @Neal :
Gravatardear宝
2014-07-13 14:52 2楼
数据 暴弱 ,居然可以不回退。。。我有一组 暴强 数据用我的代码过不去#7,#8点
GravatarNeal
2014-02-12 14:00 1楼

872. 骑马修栅栏

★   输入文件:fenceus.in   输出文件:fenceus.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

$Farmer$ $John$每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。

$John$是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。$John$ 能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。

每一个栅栏连接两个顶点,顶点用 $1$ 到 $500$ 标号(虽然有的农场并没有 $500$ 个顶点)。一个顶点上可连接任意多($>=1$)个栅栏。两顶点间可能有多个栅栏。所有栅栏都是连通的(也就是你可以从任意一个栅栏到达另外的所有栅栏)。

你的程序必须输出骑马的路径(用路上依次经过的顶点号码表示)。我们如果把输出的路径看成是一个 $500$ 进制的数,那么当存在多组解的情况下,输出 $500$ 进制表示法中最小的一个 (也就是输出第一个数较小的,如果还有多组解,输出第二个数较小的,等等)。

输入数据保证至少有一个解。

【输入格式】

第 $1$ 行: 一个整数 $F(1 <= F <= 1024)$,表示栅栏的数目;

第 $2$ 到 $F+1$ 行: 每行两个整数 $i, j(1 <= i,j <= 500)$ 表示这条栅栏连接 $i$ 与 $j$ 号顶点。

【输出格式】

输出应当有 $F+1$ 行,每行一个整数,依次表示路径经过的顶点号。注意数据可能有多组解,但是只有上面题目要求的那一组解是认为正确的。

【输入样例】

9
1 2
2 3
3 4
4 2
4 5
2 5
5 6
5 7
4 6

【输出样例】

1
2
3
4
2
5
4
6
5
7

【题目来源】

译 by Jeru