CF29D Ant on the Tree

题目描述

无环的连通无向图被称为树。树是一类不仅对人类,而且对蚂蚁也很有趣的图。 有一只蚂蚁站在某棵树的根节点上。它看到树中有 $n$ 个顶点,这些顶点被 $n-1$ 条边连接,使得任意两个顶点之间都存在一条路径。叶子是除根节点外,与正好一个其它顶点相连的顶点。 这只蚂蚁希望遍历树中的每一个顶点,并返回到根节点,要求每条边经过两次。此外,它还希望按照特定顺序访问所有叶子。你的任务是找出蚂蚁可能的行走路线。

输入格式

第一行包含一个整数 $n$($3 \leq n \leq 300$),表示树中的顶点数。接下来的 $n-1$ 行描述了树中的边。每条边用两个整数表示——表示该边连接的两个顶点的编号。每条边都可以双向通过。顶点编号从 $1$ 开始。树的根节点编号为 $1$。最后一行包含 $k$ 个整数,其中 $k$ 为树中叶子的数量。这些数字描述蚂蚁需要按照的叶子访问顺序。保证每个叶子在序列中恰好出现一次。

输出格式

如果不存在满足条件的行走路线,输出 $-1$。否则,输出 $2n-1$ 个整数,依次表示蚂蚁每次抵达的顶点编号。

说明/提示

由 ChatGPT 5 翻译