AT_arc095_d.[ARC095F] Permutation Tree
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君有一种能力,可以使用 $ (1,2,\ldots,n) $ 的一个排列 $ (p_1,p_2,\ldots,p_n) $,按照以下步骤构造一棵树。
准备顶点 $ 1 $、顶点 $ 2 、\ldots$、顶点 $ n $。对于每个 $ i=1,2,\ldots,n $,进行如下操作:
- 如果 $ p_i = 1 $,则什么也不做。
- 如果 $ p_i \neq 1 $,则在所有满足 $ p_j < p_i $ 的 $ j $ 中,取最大的 $ j $,记为 $ j'$。在顶点 $ i $ 和顶点 $ j' $ 之间连一条边。
高桥君想用这种能力构造出他最喜欢的树。他最喜欢的树有 $ n $ 个顶点,顶点编号为 $ 1 $ 到 $ n $,第 $ i $ 条边连接顶点 $ v_i $ 和 $ w_i $。请判断是否存在一个合适的排列,使得高桥君构造出的树与他最喜欢的树同构。如果存在,请输出字典序最小的这样的排列。
输入格式
输入通过标准输入给出,格式如下:
$ n $
$ v_1\ w_1 $
$ v_2\ w_2 $
⋮
$ v_{n-1}\ w_{n-1} $
输出格式
如果不存在能够构造出与高桥君最喜欢的树同构的排列,则输出 -1。
如果存在,输出字典序最小的排列,空格分隔。
输入输出样例
输入#1
6 1 2 1 3 1 4 1 5 5 6
输出#1
1 2 4 5 3 6
输入#2
6 1 2 2 3 3 4 1 5 5 6
输出#2
1 2 3 4 5 6
输入#3
15 1 2 1 3 2 4 2 5 3 6 3 7 4 8 4 9 5 10 5 11 6 12 6 13 7 14 7 15
输出#3
-1
说明/提示
注意
关于树同构的定义,请参考 wikipedia。直观地说,两棵树同构是指忽略顶点编号后,两棵树的结构完全相同。
约束条件
- $ 2 \leq n \leq 10^5 $
- $ 1 \leq v_i, w_i \leq n $
- 给定的图一定是一棵树
样例解释 1
使用排列 $ (1,\ 2,\ 4,\ 5,\ 3,\ 6) $ 构造出的树如下图所示。

这棵树与输入的图同构。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?