#751. 最远顶点

最远顶点

题目描述

给定一棵有 NN 个顶点的树,顶点编号为 11 到 NN。第 ii 条边连接顶点 AiA_i 和 BiB_i。 定义两个顶点 uu 和 vv 之间的距离为以 uu、vv 为端点的唯一路径上的边数。

对于每个顶点 v=1,2,…,Nv=1,2,\dots,N,请在顶点集合 1,2,…,N{1,2,\dots,N} 中找出与 vv 的距离最大的顶点编号。如果存在多个顶点的距离都相等且为最大值,则输出编号最大的那个顶点。

输入格式

输入共 NN 行:

  • 第 11 行包含一个整数 NN,表示顶点个数。
  • 接下来 N−1N-1 行,每行包含两个整数 Ai BiA_i\ B_i,表示一条无向边连接顶点 AiA_i 与 BiB_i。(1≤i≤N−11\le i\le N-1)

保证输入给出的是一棵树(连通且无环)。

输出格式

  • 输出共 NN 行。

  • 第 ii 行为顶点 ii 的答案:

    • 在顶点集合 1,…,N{1,\dots,N} 中与顶点 ii 距离最大的顶点的编号(若有多个,输出编号最大的那一个)。

样例输入 1

3
1 2
2 3

样例输出 1

3
3
1

样例输入 2

5
1 2
2 3
2 4
1 5

样例输出 2

4
5
5
5
4

说明

样例 11 解释

  • 与顶点 11 距离最远的是顶点 33。
  • 与顶点 22 距离最远的顶点有 11 和 33,取编号较大的 33。
  • 与顶点 33 距离最远的是顶点 11。

数据范围

  • 2≤N≤5×1052 \le N \le 5\times 10^{5};
  • 1≤Ai<Bi≤N1 \le A_i < B_i \le N;
  • 输入保证描述的是一棵树;
  • 所有输入值均为整数。