#P5590. [GESP202503 六级] 树上漫步

[GESP202503 六级] 树上漫步

Description

## 题目背景 2025 年 03 月 GESP C++ 六级编程第 1 题 ## 题目描述 小 A 有一棵 $n$ 个结点的树,这些结点依次以 $1,2,\cdots,n$ 标号。 小 A 想在这棵树上漫步。具体来说,小 A 会从树上的某个结点出发,每⼀步可以移动到与当前结点相邻的结点,并且小 A 只会在偶数步(可以是零步)后结束漫步。 现在小 A 想知道,对于树上的每个结点,从这个结点出发开始漫步,经过偶数步能结束漫步的结点有多少个(可以经过重复的节点)。 ## 输入格式 第一行,一个正整数 $n$。 接下来 $n-1$ 行,每行两个整数 $u_i,v_i$,表示树上有⼀条连接结点 $u_i$ 和结点 $v_i$ 的边。 ## 输出格式 一行,$n$ 个整数。第 $i$ 个整数表示从结点 $i$ 出发开始漫步,能结束漫步的结点数量。 ## 样例 ```input1 3 1 3 2 3 ``` ```output1 2 2 1 ``` ```input2 4 1 3 3 2 4 3 ``` ```output2 3 3 1 3 ``` ## 数据范围 对于 $40\%$ 的测试点,保证 $1\leq n\leq 10^3$。 对于所有测试点,保证 $1\leq n\leq 2\times 10^5$。

Source

GESP真题 2025