由于评测机性能差异,本题时限下调 秒。
给定一棵有 个顶点(其中 )的树,顶点编号为 1 到 ,其 Prüfer 序列是一个长度为 的唯一确定的数列,可以通过以下简单算法得到:
当树的顶点数超过两个时:
- 找到编号最小的度为 1 的顶点
- 将其唯一邻居的编号加入序列
- 从树中删除该顶点
可以证明,每个由 1 到 之间的数组成的长度为 的序列都是某棵树的 Prüfer 序列,并且 Prüfer 序列唯一地确定了它所来源的树。关于 Prüfer 序列的这些以及其他有趣的事实,可参阅 OI-wiki 或其他资料。
在本题中,我们给定一棵树,并考虑由该树顶点的不同编号方式所生成的 Prüfer 序列。若 是某种顶点编号方式(即,形式上是从顶点集合到集合 的一个单射函数),则用 表示在该编号方式下树的 Prüfer 序列。
你的任务是求给定树的字典序最小的 Prüfer 序列,即存在某种顶点编号方式 使得该序列等于 ,且对于任意其他顶点编号方式 ,要么 ,要么在 与 第一个不同的位置上, 中的数更大。
你需要对 个独立的测试用例求解本题。