#abc240e. [abc240_e]Ranges on Tree
[abc240_e]Ranges on Tree
问题描述
给定一个包含 个顶点的有根树,根节点为顶点 。
对于每个 ,第 条边连接顶点 和顶点 。
对于每个 ,设 表示以顶点 为根的子树中的所有顶点(每个顶点都属于以自身为根的子树,即 )。
此外,对于整数 和 ,记 \[l, r\] 为 到 之间的所有整数的集合,即 \[l, r\] = \lbrace l, l+1, l+2, \ldots, r \rbrace。
考虑满足以下条件的 对整数的序列 。
- 对于每个满足 的整数 ,有 。
- 对于每对整数 满足 ,满足以下条件:
- 如果 ,则 \[L_i, R_i\] \subseteq \[L_j, R_j\]
- 如果 ,则 \[L_i, R_i\] \cap \[L_j, R_j\] = \emptyset
可以证明至少存在一个满足条件的序列 。在这些序列中,打印一个使得 $\\max \lbrace L_1, L_2, \ldots, L_N, R_1, R_2, \ldots, R_N \\rbrace$ 最小的序列(如果有多个这样的序列,可以打印任意一个)。
约束条件
- 输入中的所有值均为整数。
- 给定的图是一棵树。
输入
输入以以下格式从标准输入中给出:
输出
按照以下格式打印 行。即对于每个 ,第 行应包含由空格分隔的 和 。
示例输入 1
3
2 1
3 1
示例输出 1
1 2
2 2
1 1
满足条件的序列为 $(L_1, R_1) = (1, 2), (L_2, R_2) = (2, 2), (L_3, R_3) = (1, 1)$。
确实有 \[L_2, R_2\] \subseteq \[L_1, R_1\],\[L_3, R_3\] \subseteq \[L_1, R_1\],\[L_2, R_2\] \cap \[L_3, R_3\] = \emptyset。
此外,$\\max \lbrace L_1, L_2, L_3, R_1, R_2, R_3 \\rbrace = 2$ 是最小可能的值。
示例输入 2
5
3 4
5 4
1 2
1 4
示例输出 2
1 3
3 3
2 2
1 2
1 1
示例输入 3
5
4 5
3 2
5 2
3 1
示例输出 3
1 1
1 1
1 1
1 1
1 1