CF246E.Blood Cousins Return

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Polycarpus got hold of a family tree. The found tree describes the family relations of nn people, numbered from 1 to nn . Every person in this tree has at most one direct ancestor. Also, each person in the tree has a name, the names are not necessarily unique.

We call the man with a number aa a 1-ancestor of the man with a number bb , if the man with a number aa is a direct ancestor of the man with a number bb .

We call the man with a number aa a kk -ancestor (k>1) of the man with a number bb , if the man with a number bb has a 1-ancestor, and the man with a number aa is a (k1)(k-1) -ancestor of the 1-ancestor of the man with a number bb .

In the tree the family ties do not form cycles. In other words there isn't a person who is his own direct or indirect ancestor (that is, who is an xx -ancestor of himself, for some xx , x>0x > 0 ).

We call a man with a number aa the kk -son of the man with a number bb , if the man with a number bb is a kk -ancestor of the man with a number aa .

Polycarpus is very much interested in how many sons and which sons each person has. He took a piece of paper and wrote mm pairs of numbers viv_{i} , kik_{i} . Help him to learn for each pair viv_{i} , kik_{i} the number of distinct names among all names of the kik_{i} -sons of the man with number viv_{i} .

输入格式

The first line of the input contains a single integer nn (1n105)(1 \le n \le 10^{5}) — the number of people in the tree. Next nn lines contain the description of people in the tree. The ii -th line contains space-separated string sis_{i} and integer rir_{i} (0<=ri<=n)(0<=r_{i}<=n) , where sis_{i} is the name of the man with a number ii , and rir_{i} is either the number of the direct ancestor of the man with a number ii or 0, if the man with a number ii has no direct ancestor.

The next line contains a single integer mm (1m105)(1 \le m \le 10^{5}) — the number of Polycarpus's records. Next mm lines contain space-separated pairs of integers. The ii -th line contains integers viv_{i} , kik_{i} (1vi,kin)(1 \le v_{i},k_{i} \le n) .

It is guaranteed that the family relationships do not form cycles. The names of all people are non-empty strings, consisting of no more than 2020 lowercase English letters.

输出格式

Print mm whitespace-separated integers — the answers to Polycarpus's records. Print the answers to the records in the order, in which the records occur in the input.

输入输出样例

  • 输入#1

    6
    pasha 0
    gerald 1
    gerald 1
    valera 2
    igor 3
    olesya 1
    5
    1 1
    1 2
    1 3
    3 1
    6 1
    

    输出#1

    2
    2
    0
    1
    0
    
  • 输入#2

    6
    valera 0
    valera 1
    valera 1
    gerald 0
    valera 4
    kolya 4
    7
    1 1
    1 2
    2 1
    2 2
    4 1
    5 1
    6 1
    

    输出#2

    1
    0
    0
    0
    2
    0
    0
    
首页