CF1033G Chip Game
题目描述
$Alice$ 和 $Bob$ 在玩一个游戏. 游戏中有 $n$ 堆筹码, 其中第 $i$ 堆中有 $v_i$ 个筹码.
游戏开始前,$Alice$ 先从区间 $[1, m]$ 中选择一个正整数 $a$, 随后 $Bob$ 同样地选择一个正整数 $b$.
游戏开始. 在 $Alice$ 的回合中, 她可以选择任意至少包含 $a$ 个筹码的一堆, 然后从中取出 $a$ 个筹码. 同理, 在 $Bob$ 的回合中, 他也可以选择任意至少包含 $b$ 个筹码的一堆, 然后从中取出 $b$ 个筹码. 直到某回合不能继续操作的一方判负.
假设双方每次都会选择最优策略, 游戏结果将只由 $a$, $b$ 和 $先手次序$ 决定. 考虑一对选定的 $(a,b)$ , 则有四类可能的局面:
* $Alice$ 必胜.
* $Bob$ 必胜.
* 先手必胜.
* 后手必胜.
在所有合法的 $(a, b)$ 中 (即所有 满足 $1\leq a, b\leq m$ 的 $(a, b)$ 中), 请问每类局面各出现多少次.
输入格式
无
输出格式
无
说明/提示
样例\#1中共有四对可能的 $(a,b)$
* $a = b = 1$ : 每次可以从任意一堆取出筹码, 最终将进行 $9$ 回合, 先手将抽取最后一个筹码, 故先手必胜.
* $a = b = 2$ : 游戏进行 $4$ 回合后将剩下包含 $1$ 个筹码的一堆. 此时先手无法继续操作, 后手必胜.
* $a = 1$ 且 $b = 2$ : 此时 $Alice$ 有必胜策略,说明如下.
* 假设 $Alice$ 先手: 首先 $Alice$ 从第二堆中取走 $1$ 个筹码. 此时每一堆中有 $4$ 个筹码. 随后每次都~~复读机~~复制 $Bob$ 的行为, 最后每堆都剩下 $1$ 个筹码, $Bob$ 无法继续操作, $Alice$ 胜利.
* 假设 $Bob$ 先手: 如果 $Bob$ 从第二堆中取走筹码, 则 $Alice$ 从第一堆中取走筹码. 随后复制 $Bob$ 的行为即可获胜. 反之, 则 $Alice$ 也从第一堆中取走筹码. 此时第一堆中只剩下 $1$ 个筹码, $Bob$ 只能从第二堆中取走筹码. 此时第二堆剩余 $3$ 个筹码, 则此后不论 $Alice$ 如何操作均获胜.
综上, $Alice$ 必胜
* $a = 2$ 且 $b = 1$ : 同上, $Bob$ 必胜.
样例\#2中, 例如 $a = 7$ 且 $b = 6$ 等使得游戏开始后, 双方都无法取出筹码, 此时即后手必胜.
先手必胜的情况有: $(1, 1) , (1, 4) , (2, 3) , (3, 2) , (4, 1) , (5, 5)$ .
$1 \leq n \leq 100, 1 \leq m \leq 10^5$
$1 \leq v_i \leq 10^{18}$