AT_hitachi2020_c ThREE

题目描述

有一棵包含 $N$ 个顶点的树。顶点编号为 $1$ 到 $N$,第 $i$ 条边连接顶点 $a_i$ 和顶点 $b_i$。 非常喜欢数字 $3$ 的高桥君正在寻找一个满足以下条件的 $1$ 到 $N$ 的整数排列 $p_1,\ p_2,\ \ldots,\ p_N$: - 对于所有顶点对 $(i,\ j)$,如果顶点 $i$ 和顶点 $j$ 之间的距离为 $3$,则 $p_i$ 和 $p_j$ 的和或积是 $3$ 的倍数。 这里,顶点 $i$ 和顶点 $j$ 之间的距离指的是从顶点 $i$ 到顶点 $j$ 的最短路径所经过的边数。 请为高桥君找到一个满足条件的排列。

输入格式

输入以如下格式从标准输入读入。 > $N$ > $a_1$ $b_1$ > $a_2$ $b_2$ > $\vdots$ > $a_{N-1}$ $b_{N-1}$

输出格式

如果不存在满足条件的排列,则输出 $-1$,占一行。 如果存在,输出任意一个满足条件的排列,空格分隔,输出一行。

说明/提示

## 限制条件 - $2 \leq N \leq 2 \times 10^5$ - $1 \leq a_i, b_i \leq N$ - 给定的图是一棵树 ## 样例解释 1 距离为 $3$ 的顶点对有 $(2,\ 4)$ 和 $(2,\ 5)$ 这两组。 - $p_2 + p_4 = 6$ - $p_2 \times p_5 = 6$ 因此,这个排列满足条件。 由 ChatGPT 4.1 翻译