CF321C Ciel the Commander
题目描述
现在,Fox Ciel 成为了树之国的指挥官。树之国,顾名思义,有 $n$ 个城市,这些城市通过 $n-1$ 条无向道路相连,并且对于任意两个城市总存在一条路径将它们连接起来。
Fox Ciel 需要为每个城市任命一名军官。每位军官都有一个军衔——一个从 'A' 到 'Z' 的字母。因此,共有 26 个不同的军衔,'A' 是最高军衔,'Z' 是最低军衔。
每个军衔的军官都是无限供应的。但是有一条特殊规则必须遵守:如果 $x$ 和 $y$ 是两个不同的城市,而它们的军官拥有相同的军衔,则在连接 $x$ 和 $y$ 的简单路径上,必须存在一个城市 $z$,其军官的军衔更高。这个规则保证了同级军官之间的通信会被更高级军官监督。
请帮助 Ciel 制定一个有效的计划;如果无法实现,输出 "Impossible!"。
输入格式
第一行包含一个整数 $n$($2 \leq n \leq 10^{5}$)——树之国的城市数量。
接下来 $n-1$ 行,每行包含两个整数 $a$ 和 $b$($1 \leq a, b \leq n, a \ne b$),表示在城市 $a$ 和城市 $b$ 之间有一条无向道路。所有城市编号为 $1$ 到 $n$。
保证给定的图是一棵树。
输出格式
如果存在一种有效的方案,请输出一行 $n$ 个用空格分隔的字符,第 $i$ 个字符表示编号为 $i$ 的城市的军官军衔。
否则输出 “Impossible!”。
说明/提示
在第一个样例中,对于任意两个军衔为 'B' 的军官,在它们之间的路径上总会经过一名军衔为 'A' 的军官。所以这是一个有效的方案。
由 ChatGPT 5 翻译