4500:[GESP202503 六级] 树上漫步

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:0 解决:0

题目描述

## 题目背景 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$。

来源/分类