#aBC291H. [ABC291Ex] Balanced Tree

[ABC291Ex] Balanced Tree

AT_abc291_h [ABC291Ex] Balanced Tree

题目描述

给定一棵有 NN 个顶点的树 TT。第 ii 条边连接顶点 AiA_iBiB_i

请你构造一棵满足以下两个条件的、有 NN 个顶点的有根树 RR

  • 对于所有满足 1x<yN1 \leq x < y \leq N 的整数对 (x,y)(x, y),都满足:
    • RR 中顶点 xxyy 的最近公共祖先为顶点 zz,则在 TT 中连接顶点 xxyy 的简单路径上存在顶点 zz
  • RR 中,对于除根以外的每个顶点 vv,以 vv 为根的子树的顶点数的 22 倍,不超过以 vv 的父亲为根的子树的顶点数。

可以证明,满足上述条件的有根树一定存在。

输入格式

输入按以下格式从标准输入读入。

NN
A1A_1 B1B_1
\vdots
AN1A_{N-1} BN1B_{N-1}

输出格式

RR 为满足条件的有根树。令 pip_i 表示 RR 中顶点 ii 的父亲(若 ii 为根,则 pi=1p_i = -1)。
请按顺序输出 NN 个整数 p1,p2,,pNp_1, p_2, \ldots, p_N,用空格分隔。

输入输出样例 #1

输入 #1

4
1 2
2 3
3 4

输出 #1

2 -1 4 2

输入输出样例 #2

输入 #2

5
1 2
1 3
1 4
1 5

输出 #2

-1 1 1 1 1

说明/提示

限制条件

  • 1N1051 \leq N \leq 10^5
  • 1Ai,BiN1 \leq A_i, B_i \leq N
  • 输入均为整数
  • 给定的图为一棵树

样例解释 1

例如,RR 中顶点 1,31, 3 的最近公共祖先为顶点 22,并且在 TT 中连接顶点 1133 的简单路径上存在顶点 22
又如,RR 中以顶点 44 为根的子树的顶点数为 22,其 22 倍为 44,不超过以顶点 22 为根的子树的顶点数 44

由 ChatGPT 4.1 翻译