#9913. 表亲是谁(无数据)
表亲是谁(无数据)
题目描述
波利卡普得到了一个家族关系树。这个树描述了 个人的家族关系,编号从 到 。树中的每个人最多有一个父母。
如果 是 的父母,我们称 为 的 -祖先。
如果 有一个 -祖先,并且 是 的 -祖先的 -祖先的,我们称 为 的 -祖先。
家族关系在找到的树中不形成循环。换句话说,没有人是自己的祖先,无论是直接还是间接的(即,没有人是自己某个 x-祖先)。
如果存在一个人 ,他是 的 -祖先和 的 -祖先 ,我们称两个人 和 为 ( ≠ ) -表亲 ( > 0)。
波利卡普想知道每个人有多少表亲以及他们的种类。他拿了一张纸,写下了 对整数 ,。帮助他计算每对 , 中, 有多少 -表亲。
输入格式
第一行输入包含一个整数 — 树中人的数量。下一行包含 个用空格分隔的整数 ,其中 () 是第 个人的父母编号,如果第 个人没有父母,则为 。可以保证家族关系不形成循环。
第三行包含一个数字 — 波利卡普的家族关系查询的数量。接下来的 行包含一对用空格分隔的整数。第 行包含数字 , ()。
输出格式
输出 个用空格分隔的整数 — 波利卡普查询的答案。按照输入中查询出现的顺序输出答案。
6
0 1 1 0 4 4
7
1 1
1 2
2 1
2 2
4 1
5 1
6 1
0 0 1 0 0 1 1
样例分析

顶点 的 -表亲是顶点 ,顶点 的 -表亲是顶点 。
数据范围与提示
对于 的数据,,。