4003: 【NOIP2022赛前集训】树上问题(tree)

内存限制:512 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:33 解决:14

题目描述

tree.in/out/cpp
给定一个 $N$ 个点的树,你需要在 $N$ 个点中选择一个点作为起点,接下来每一步,你可以选择一条与当前点相邻的边,并移动到这条边的另一个端点。

现在小 $L$ 想要知道,移动 $i$ 次最多可以经过多少不同的节点。一个节点可以多次经过,多次经过的节点只算一次。

你需要对每个 $i\ (1\le i\le 2\times N)$ 求出答案。


输入

第一行两个正整数 $N$ 分别表示节点数。

接下来 $N - 1$ 行,每行两个正整数 $u,v$ 表示节点 $u,v$ 之间存在一条无向边。

输出

输出一行 $2\times N$ 个整数,第 $i$ 数表示移动 $i$ 次的答案。


样例输入 复制

3
1 2
1 3

样例输出 复制

2 3 3 3 3 3

提示

 数据范围与约定 

对于 $10\%$ 的数据,保证 $N\le 10$。 
对于 $30\%$ 的数据,保证 $N\le 10^2$。 
另有 $60\%$ 的数据,保证 $N\le 10^3$。
 对于 $100 \%$ 的数据,保证 $1\le N\le 5\times 10^5$