#CF2140E1. 质数游戏(简单版本)
质数游戏(简单版本)
本题为简单版本,与困难版本的区别是:简单版本中 。 只有当你通过本题所有版本时,才可以进行 Hack。
定义合法局面:有 堆石子,满足: 每堆石子数量为 之间的整数(包含边界)。
给定一个合法石子局面,将 中某些下标标记为好下标。
Alice 和 Bob 进行游戏: 共进行 轮操作,两人轮流行动,Alice 先手。 每一轮必须执行如下操作: 设当前剩余 堆石子,选择满足 且 是好下标的位置 ,彻底移除第 堆。
注意:每次移除一堆后,总堆数减 ,剩余石子堆会重新从 开始编号。 游戏直到只剩最后一堆时结束。 题目保证:下标 永远是好下标。
设最后剩下那一堆的石子数量为 :
- Alice 目标:最大化
- Bob 目标:最小化 两人均采取最优策略。
求所有可能的合法局面对应的最终 之和,答案对 取模。
输入格式
多组测试用例。 第一行一个整数 (),表示测试组数。
每组测试用例:
- 一行两个整数 (),分别是石子堆数、每堆石子数上界。
- 一行一个整数 (),表示被标记为好下标的数量。
- 一行 个整数 ,满足 ,为所有好下标。 保证下标 一定是好下标。
额外限制:
- 所有测试用例的 之和不超过 ;
- 所有测试用例的 之和不超过 。
输出格式
对每组测试用例,输出所有合法局面最终 的总和,对 取模。
样例输入
3
2 2
1
1
3 1
2
1 3
3 2
2
1 2
样例输出
6
1
11
样例说明
-
第一组: 合法局面有:。 共 堆石子,Alice 只能选第 堆移除,最后剩下第二堆。 总和:。
-
第二组: 每堆石子只能是 ,最终 恒为 ,总和为 。