#S6U09P02. 【作业】找到第k个孩子

【作业】找到第k个孩子

找到第k个孩子

难度:T2

【知识点:孩子兄弟表示】【知识点:一维数组】

前置知识:树的父子与兄弟关系、数组、循环、首孩子和下一兄弟。

题目描述

节点编号为 11 到 nn,根为 11。fc[u] 记录节点 uu 的第一个孩子,ns[u] 记录节点 uu 的下一个兄弟,00 表示没有。保证输入是一棵合法树的孩子兄弟表示,顺序已经给定,不能按编号重新排序。

有 qq 次查询,每次给出 u,ku,k。按兄弟顺序找 uu 的第 kk 个直接孩子;不存在则输出 00。每次查询互不修改原树。

输入格式

第一行整数 nn。随后 nn 行按节点编号从小到大排列,每行给出该节点的 fc 和 ns。接着一行整数 qq,随后 qq 行每行两个整数 u,ku,k。

输出格式

每次查询输出一行,包含对应孩子的编号,不存在则输出 00。

数据范围

1≤n≤10001\le n\le1000,节点编号在 11 到 nn 内,连接编号在 00 到 nn 内。1≤q≤10001\le q\le1000,1≤u≤n1\le u\le n,1≤k≤10011\le k\le1001。

样例输入

7
2 0
5 3
0 4
7 0
0 6
0 0
0 0
3
1 2
2 2
3 1

样例输出

3
6
0

样例解释

根的第二个孩子是 33;节点 22 的第二个孩子是 66;节点 33 没有孩子。