4685 - 树上漫步

题目描述

小A有一棵 n 个结点的树,这些结点依次以 1, 2, \ldots, n 标号。

小A想在这棵树上漫步。具体来说,小A会从树上的某个结点出发,每一步可以移动到与当前结点相邻的结点,并且小A只会在偶数步(可以是零步)后结束漫步。

现在小A想知道,对于树上的每个结点,从这个结点出发开始漫步,经过偶数步能结束漫步的结点有多少个(可以经过重复的节点)。

输入

第一行,一个正整数 n

接下来 n - 1 行,每行两个整数 u_i, v_i ,表示树上有一条连接结点 u_i 和结点 v_i 的边。

输出

一行, n 个整数,第 i 个整数表示从结点 i 出发开始漫步,能结束漫步的结点数量。

样例

输入

3
1 3
2 3

输出

2 2 1

输入

4
1 3
3 2
4 3

输出

3 3 1 3
说明

数据范围

对于40%的测试点,保证 1 \leq n \leq 10^4

对于所有测试点,保证 1 \leq n \leq 2 \times 10^5

来源

2025年GESP 3月认证C++六级真题

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 13
通过人数 11
金币数量 1 枚
难度 入门


上一题 下一题