1697: 祖孙询问

题目描述


已知一棵
n
n 个节点的有根树。有
m
m 个询问,每个询问给出了一对节点的编号
x
x 和
y
y,询问
x
x 与
y
y 的祖孙关系。

输入


输入第一行包括一个整数
n
n 表示节点个数;
接下来
n
n 行每行一对整数对
a
a 和
b
b 表示
a
a 和
b
b 之间有连边。如果
b
b 是
-1
−1,那么
a
a 就是树的根;

n+2
n+2 行是一个整数
m
m 表示询问个数;
接下来
m
m 行,每行两个正整数
x
x 和
y
y,表示一个询问。

输出


对于每一个询问,若
x
x 是
y
y 的祖先则输出
1
1,若
y
y 是
x
x 的祖先则输出
2
2,否则输出
0
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\%
30% 的数据,
1\le n,m\le 10^3
1≤n,m≤103;
对于
100\%
100% 的数据,
1\le n,m\le 4\times 10^4
1≤n,m≤4×104,每个节点的编号都不超过
4\times 10^4
4×104。

来源/分类


ybttg LCA

请先 登录 后评论
  • 0 关注
  • 0 收藏,350 浏览
  • 轩爸 提出于 2019-08-02 22:19

相似问题