#abc291h. [abc291_h]Balanced Tree
[abc291_h]Balanced Tree
题目描述
给定一个具有 个顶点的树 。第 条边连接了顶点 和 。
构造一个满足以下条件的、具有 个顶点的有根树 。
- 对于所有满足 的整数对 ,
- 如果 中顶点 和 的最低公共祖先是顶点 ,则在 中顶点 在顶点 和 之间的简单路径上。
- 在 中,对于除了根以外的所有顶点 ,以 为根的子树中的顶点数乘以 不超过以父亲顶点为根的子树中的顶点数。
我们可以证明这样的有根树总是存在的。
约束条件
- 输入中的所有值都是整数。
- 给定的图是一棵树。
输入
输入以以下格式从标准输入给出:
输出
设 是满足题目中条件的有根树。假设在 中,顶点 的父亲顶点是顶点 。(如果 是根,让 。)
打印 个整数 ,以空格隔开。
示例输入 1
4
1 2
2 3
3 4
示例输出 1
2 -1 4 2
例如,在 中,顶点 和顶点 的最低公共祖先是顶点 ;在 中,顶点 在顶点 和顶点 之间的简单路径上。
同样地,在 中,以顶点 为根的子树有两个顶点,并且乘以 后的顶点数不超过以顶点 为根的子树的顶点数,后者有 个顶点。
示例输入 2
5
1 2
1 3
1 4
1 5
示例输出 2
-1 1 1 1 1