编程题
### 问题描述 在遥远的大陆上,有一片神秘的森林,这片森林中生长着一棵巨大的古树,据说这棵树拥有神秘的力量,可以帮助人们实现愿望。但是这棵树只向那些有勇气探险的人们敞开大门。 你是一名探险家,听说了这个传说,决定前往森林探险。经过多日的艰苦跋涉,你来到了这棵神秘的古树下,发现这棵树有着奇特的结构,它是一棵 $n$ 个节点的树,以 $1$ 为根。 你还发现了这个树的特殊之处:对于树上的任意一个节点 $u$ 和一个整数 $x$,可以用 $d(u,x)$ 表示 $u$ 子树中到 $u$ 距离为 $x$ 的节点数。这个神奇的函数可以帮助你找到实现愿望的方法。 然而,在这片神秘的森林中,危险无处不在,你必须小心翼翼地前行。你有一项任务,即对于树上的某一个节点 $u$,选择一个最小的 $k$,使得节点 $u$ 的 $d(u,k)$ 值最大。 你需要谨慎选择,因为若你走错了路,就有可能会失去探险的机会,错失实现愿望的机会。现在你需要运用你聪明的头脑,完成任务,以实现愿望。 ### 输入格式 第一行一个整数 $n$($1\leq n \leq 10^5$),表示树的节点数。 接下来 $n-1$ 行,每行包含两个整数 $u$ 和 $v$($1\leq u,v \leq n$),表示存在一条连接节点 $u$ 和节点 $v$ 的无向边。 ### 输出格式 输出 $n$ 行整数,第 $i$ 行的整数表示节点 $i$ 对应的 $k$。 ### 样例输入 ```text 4 1 2 2 3 2 4 ``` ### 样例输出 ```text 2 1 0 0 ```
查看答案
赣ICP备20007335号-2