AT_ttpc2024_1_g Diverge and Converge

题目描述

给定一棵有 $N$ 个顶点的树 $A$。顶点的编号从 $1$ 到 $N$,其中第 $i$ 条边($1 \le i \le N-1$)连接了顶点 $u_i$ 和 $v_i$。 同时,你还得到了一棵同样有 $N$ 个顶点的树 $B$。树 $B$ 的顶点编号也是从 $1$ 到 $N$,其中第 $j$ 条边($1 \le j \le N-1$)连接了顶点 $x_j$ 和 $y_j$。 你的任务是找到一个排列对 $((P_1, P_2, \dots, P_{N-1}), (Q_1, Q_2, \dots, Q_{N-1}))$,使得以下条件成立: 对于每个 $k=1, 2, \dots, N-1$,依次执行以下两步操作。在每个 $k$ 的两步操作执行完毕后,$A$ 和 $B$ 必须依然保持树的结构。 1. 在树 $A$ 中,删除连接顶点 $u_{P_k}$ 和 $v_{P_k}$ 的边,同时添加连接顶点 $x_{Q_k}$ 和 $y_{Q_k}$ 的边。 2. 在树 $B$ 中,删除连接顶点 $x_{Q_k}$ 和 $y_{Q_k}$ 的边,同时添加连接顶点 $u_{P_k}$ 和 $v_{P_k}$ 的边。 请注意,根据题目的限制条件,可以保证一定存在这样的排列对。

输入格式

输入从标准输入读取,格式如下: ``` N u_1 v_1 u_2 v_2 ... u_{N-1} v_{N-1} x_1 y_1 x_2 y_2 ... x_{N-1} y_{N-1} ```

输出格式

输出排列的结果,格式如下: ``` P_1 P_2 ... P_{N-1} Q_1 Q_2 ... Q_{N-1} ```

说明/提示

- $2 \le N \le 1000$ - $1 \le u_i, v_i, x_j, y_j \le N$ - 给定的 $A$ 和 $B$ 保证是树 ### 样例解释 1 在操作开始时,树 $A$ 是一条直线型的路径树,而树 $B$ 是星型树。当 $k=1$ 操作完成后,$A$ 变成星型树,而 $B$ 变成路径树。在 $k=2$ 操作中,删除和添加的边具有相同的顶点,因此树的形状并没有改变。到 $k=3$ 操作结束时,$A$ 和 $B$ 的结构已经成功互换。 **本翻译由 AI 自动生成**