CF-29C普及+/提高
邮票
⏱ 2.0s💾 256MB
📋 题目描述
一封信由城市 寄往城市 ,邮局的工作人员会在信封上盖一个 或者 的邮戳。一封信从发件人所在城市邮寄到收件人所在城市,可能会经过一些中间城市。每个城市的邮局工作人员都会在信封上盖一个邮戳,但不会将信寄往之前到过的城市。数据保证所有加盖的邮戳都是正确的。
胖球肚收到了一封信,这封信上盖有 个邮戳。胖球肚知道这封信经过的路径只可能有两条(即正着和反着),请她找出一条可能的路线。
📥 输入格式
第一行仅有一个数 ( ) ,表示信封上盖有邮戳的数量。接下来的 行,每行有两个不超过 的正整数 和 ,表示一次收递是从 号城市到 号城市,或者是从 号城市到 号城市。
📤 输出格式
仅有一行,包含 个正整数,表示一封信可能的邮寄路线。
📝 样例 1
输入
2 1 100 100 2
输出
2 100 1
📝 样例 2
输入
3 3 1 100 2 3 2
输出
100 2 3 1
📚 来源
Problem:CF-29C
Contest:Codeforces Beta Round #29 (Div. 2, Codeforces format)
💡 题目讲解
1
理解题意
一封信从一个城市出发,经过若干个中间城市,最终到达终点。每到一个城市的邮局,工作人员都会在信封上盖一个戳。
每个戳上印着两个城市编号——比如 <3, 1>——表示信从城市 3 来到了城市 1,或者是从城市 1 去了城市 3。具体方向不重要,重要的是它表明 和 这两个城市是挨着的(信在它们之间走过)。
💡 关键约束:信不会走回头路——同一个城市不会经过两次。所以整条路线就是一条直链,没有分叉,没有环。
🎯 题目给了你什么?
- 个邮戳(每个戳 = 一条无向边)
- 保证这些戳拼起来恰好是一条路径(只有正着和反着两种可能)
🎯 你要输出什么?
- 这条路径上的 个城市,按顺序排列
邮戳 = 无向边(方向不重要),拼起来就是一条路径
1 / 5