#abc270c. [abc270_c]Simple path

[abc270_c]Simple path

题目描述

给定一棵有 NN 个顶点的树 TT。第 ii 条边 (1iN1)(1 \leq i \leq N-1) 连接顶点 UiU_iViV_i

给定树 TT 中两个不同的顶点 XXYY,按顺序列出从顶点 XX 到顶点 YY 的简单路径上的所有顶点,包括端点。

可以证明,对于树中的任意两个不同顶点 aabb,从 aabb 存在唯一的简单路径。

什么是简单路径?对于图 GG 中的顶点 XXYY,从顶点 XX 到顶点 YY 的一个路径是一个顶点序列 v1,v2,,vkv_1,v_2, \ldots, v_k,其中 v1=Xv_1=Xvk=Yv_k=Y,对于每个 1ik11 \leq i \leq k-1viv_ivi+1v_{i+1} 由一条边连接。另外,如果 v1,v2,,vkv_1,v_2, \ldots, v_k 全部不同,则该路径被称为从顶点 XX 到顶点 YY简单路径

约束条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1X,YN1 \leq X,Y \leq N
  • XYX \neq Y
  • 1Ui,ViN1 \leq U_i,V_i \leq N
  • 输入中的所有值都是整数。
  • 给定的图是一棵树。

输入和输出

输入从标准输入中以以下格式给出:

NN XX YY U1U_1 V1V_1 U2U_2 V2V_2 \vdots UN1U_{N-1} VN1V_{N-1}

按顺序打印出从顶点 XX 到顶点 YY 的简单路径上的所有顶点的索引,顶点之间用空格分隔。

样例

样例输入 1

5 2 5
1 2
1 3
3 4
3 5

样例输出 1

2 1 3 5

TT 如下所示。从顶点 22 到顶点 55 的简单路径是 22 \to 11 \to 33 \to 55
因此,应该按照顺序打印 2,1,3,52,1,3,5,顶点之间用空格分隔。

样例输入 2

6 1 2
3 1
2 5
1 2
4 1
2 6

样例输出 2

1 2

TT 如下所示。