「NOIP模拟赛」祖孙询问

2014年10月6日4,4640

「问题描述」

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

「输入格式」

输入第一行包括一个整数n表示节点个数。

接下来n行每行一对整数对a和b表示a和b之间有连边。如果b是-1,那么a就是树的根。

第n+2行是一个整数m表示询问个数。

接下来m行,每行两个正整数x和y。

「输出格式」

对于每一个询问,输出1:如果x是y的祖先,输出2:如果y是x的祖先,否则输出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%的数据,n,m≤1000。

对于100%的.据,n,m≤40000,每个节点的编号都不超过40000。

题解

直接上lca或者dfs序

听说会爆栈我写了bfs的lca

 

avatar
  Subscribe  
提醒