友情提示:380元/半年,儿童学编程,就上码丁实验室。
【题目描述】
已知一棵 $n$ 个节点的有根树。有 $m$ 个询问,每个询问给出了一对节点的编号 $x$ 和 $y$,询问 $x$ 与 $y$ 的祖孙关系。
【输入】
输入第一行包括一个整数 $n$ 表示节点个数;
接下来 $n$ 行每行一对整数对 $a$ 和 $b$ 表示 $a$ 和 $b$ 之间有连边。如果 $b$ 是 $-1$,那么 $a$ 就是树的根;
第 $n+2$ 行是一个整数 $m$ 表示询问个数;
接下来 $m$ 行,每行两个正整数 $x$ 和 $y$,表示一个询问。
【输出】
对于每一个询问,若 $x$ 是 $y$ 的祖先则输出 $1$,若 $y$ 是 $x$ 的祖先则输出 $2$,否则输出 $0$。
【输入样例】
10 234 -1 12 234 13 234 14 234 15 234 16 234 17 234 18 234 19 234 233 19 5 234 233 233 12 233 13 233 15 233 19
【输出样例】
1 0 0 0 2
【提示】
数据范围与提示:
对于 30% 的数据,$1≤n,m≤10^3$ ;
对于 100% 的数据,$1≤n,m≤4×10^4$ ,每个节点的编号都不超过 $4×10^4$ 。