#P8917. [DMOI-R2] 风神瞳(Anemoculus)
[DMOI-R2] 风神瞳(Anemoculus)
题目背景
题目描述
风起地有一颗大树,它有 个节点,以 号节点为根。
树上有 个风神瞳,第 个风神瞳位于节点 上。
你想要收集这些风神瞳。于是请来了在大树旁边摸鱼的温迪帮忙。
一开始,你在树的根部的节点,也就是 号节点上,每一秒钟,你可以从当前节点走到相邻的节点。或者,你可以请温迪帮忙,他会生成一个风场,你可以通过这个风场直接一次性向上走正好 步(我们定义根节点到叶子结点的方向为『上』,即从深度较小的节点到深度较大的节点,换句话说,你可以从当前节点朝着深度更大的节点连续走 步)。当你到达某个有风神瞳的节点上时,你就可以收集那个节点的风神瞳,收集不耗费时间。由于从树上跳下来会摔伤,你最后必须回到根节点。现在你有 个问题,第 个问题是你在 秒内你最多可以收集到几个风神瞳。
输入格式
第一行四个正整数 ,含义如题目描述中所述。
接下来 行,每行两个正整数 ,表示结点 和结点 是相邻的。
接下来一行 个互不相同的正整数,第 个数表示 ,含义如题目描述中所述。
接下来 行,其中第 行有一个正整数 ,含义如题目描述中所述。
输出格式
对于 次询问,每次询问输出一行,表示最多可以收集到几个风神瞳。
8 3 1 6
1 2
1 3
1 6
2 4
2 5
3 7
3 8
6 7 8
1
3
5
6
7
8
0
1
1
2
2
3
8 3 2 6
1 2
1 3
1 6
2 4
2 5
3 7
3 8
6 7 8
1
3
5
6
7
8
0
1
2
2
3
3
提示
样例解释
样例一
如图,其中加粗的点是有风神瞳的点。温迪很懒有事所以不准备帮你。
样例二
这个样例除了温迪能让你一次性向上走两步和样例一没有区别。
数据范围
本题采用捆绑测试。
对于 的数据,。
对于另外 的数据,。
对于另外 的数据,。
对于 的数据,,,,,,,其中 表示树的深度,定义根节点的深度为 。