[Kubic] Permutation
题目背景
建议先看 E 题题目背景。
题目描述
对于一个 $1\sim n$ 的排列 $p$,定义 $G_p$ 为使用以下方法构造出来的**无向图**:
- 对于每一个 $i\in (1,n]$,找到最大的 $j\in [1,i)$ 满足 $p_i>p_j$,然后连一条 $i,j$ 之间的边,如果不存在这样的 $j$ 则不连。
给定一棵有 $n$ 个节点的树 $T$。
把 $p$ 称为**好排列**当且仅当 $G_p$ 与 $T$ 同构。
如果存在**好排列**,输出其中**字典序最大**的一个。否则输出 $-1$。
无向图 $G_1,G_2$ 同构当且仅当存在一个 $1\sim n$ 的排列 $q$,满足 $\forall (u,v)\in G_1,(q_u,q_v)\in G_2,\forall (u,v)\notin G_1,(q_u,q_v)\notin G_2$。
输入输出格式
输入格式
第一行,一个整数 $n$。
接下来 $n-1$ 行,每行两个整数 $u,v$,表示 $u,v$ 之间有一条边。
输出格式
共一行,$n$ 个整数,表示答案;或一个数 $-1$,表示无解。
输入输出样例
输入样例 #1
5
1 2
1 3
2 4
2 5
输出样例 #1
1 5 4 2 3
输入样例 #2
9
1 2
2 3
1 4
4 5
5 6
1 7
7 8
8 9
输出样例 #2
1 9 2 6 7 8 3 4 5
说明
对于 $100\%$ 的数据,$1\le u,v\le n\le 5\times 10^3$。
||分值|$n$|特殊性质|
|:-:|:-:|:-:|:-:|
|$\operatorname{Subtask}1$|$15$|$\le 8$|无|
|$\operatorname{Subtask}2$|$5$|无特殊限制|树退化为一条链|
|$\operatorname{Subtask}3$|$15$|无特殊限制|度数 $\ge 3$ 的节点个数 $\le 1$|
|$\operatorname{Subtask}4$|$20$|$\le 100$|无|
|$\operatorname{Subtask}5$|$20$|$\le 10^3$|无|
|$\operatorname{Subtask}6$|$25$|无特殊限制|无|
**说明:样例解释中的节点编号是 $p$ 中的下标。**
### 样例解释 1
$G_p$ 的形态如下:
![](https://cdn.luogu.com.cn/upload/image_hosting/yawh0shj.png)
可以证明没有更优的方案。
### 样例解释 2
$G_p$ 的形态如下:
![](https://cdn.luogu.com.cn/upload/image_hosting/o9vgydub.png)
可以证明没有更优的方案。