#517. 杀戮尖塔
杀戮尖塔
杀戮尖塔
题目描述
高塔上有 个房间,其中 号房间是整座尖塔的顶层,高度为 。
还有 条边链接这 个房间,使得尖塔联通,每个房间到塔尖的距离。(也就是说是棵树)
这里的规则是:只能往塔尖的方向走。(也就是只能从儿子走向父亲)
各个房间里留下了一些遗物,用以奖励来到尖塔的挑战者。(同一种遗物可能会多次出现)
你需要回答 次询问,每次回答从一个房间 出发,想拿到编号为 的遗物,走的步数最少的情况下会停留在哪个房间。
输入格式
第一行:一个正整数 ,表示房间数。
第二行: 个正整数,第 个整数 ,描述了一条道路 。
接下来 行,每行由一个非负整数 开头,表示第 个城市拥有的遗物种类数。紧接着 个不同的正整数 ,代表该房间拥有的遗物的编号。
下一行一个正整数 ,表示询问的数量。
随后 行,每行给定两个参数 ,表示你现在从房间 出发,想要拿到遗物 。(只要拿到这个遗物你就不会继续往上走了)
输出格式
输出共 行,第 行代表对第 个询问的回答。
如果能拿到这个遗物,则输出最后停留房间的编号,否则,输出 。
样例
Input 1
5
1 2 3 3
2 2 1
0
2 5 2
2 4 5
1 5
4
3 4
5 2
4 5
1 3
Output 1
-1
3
4
-1
提示说明
Constraints
| 子任务 | 特殊性质 | 分值 | |
|---|---|---|---|
| N/A | |||
| 尖塔结构随机生成 | |||
| N/A | |||
保证 ,尖塔结构合法。
如遇到本地栈空间爆炸,可在编译选项中添加:
"-Wl,--stack=819200000"
Related
In following contests: