Problem6433--树的深度

6433: 树的深度

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

树是指由 $n$ 个点,$n−1$ 条边构成的联通无向图。
树从根结点开始往下数,叶子结点所在的最大层数称为树的深度。

入上图以 $A$ 为跟节点的树,深度为 $4$。
给一个包含 $n$ 个节点的树,节点编号为 $1 \sim n$,其中节点 $1$ 为跟节点。
给你任意一个顶点 $u$,请计算以 $u$ 为叶子的子树的深度。

Input

输入文件的第一行为一个正整数 $n$,表示树中节点数量,节点编号为 $1 \sim n$。
接下来的 $n−1$ 行,每行两个正整数 $u,v$ 表示点 $u$ 与点 $v$ 之间有一条边,其中 $u$ 是父节点。
第 $n$ 行为一个整数 $m$,表示有 $m$ 次查询。
接下来一行,包括 $m$ 个整数的序列 $a$,表示每次查询以 $a_i$ 为叶子节点的子树深度。
保证输入的图示一棵树。

Output

一共一行,包括 $m$ 个整数,第 $i$ 个整数,表示以 $a_i$ 为叶子节点的子树的深度。

Constraints

$1 \leq n \leq 2 \times 10^5,\ 1 \leq m \leq 10^6$。

Sample 1 Input

5
1 2
1 3
1 4
4 5
5
1 2 3 4 5

Sample 1 Output

0 1 1 1 2

Source/Category