AT_abc255_g [ABC255G] Constrained Nim
题目描述
高桥君和青木君用由若干石子组成的 $N$ 个山堆进行石子取走游戏。
开始时,对于 $i = 1, 2, \ldots, N$,第 $i$ 个山堆有 $A_i$ 个石子。游戏由高桥君先手,二人轮流重复以下操作:
> 选择一个至少剩有 $1$ 个石子的山堆,从该山堆中取走至少 $1$ 个石子。
但本游戏有 $M$ 种禁手,不能进行属于禁手的操作。
对于 $i = 1, 2, \ldots, M$,第 $i$ 种禁手是“从恰好有 $X_i$ 个石子的山堆中恰好取走 $Y_i$ 个石子”。
无法进行操作的一方判负,未判负的一方获胜。假设双方都采取最优策略,请判断最终哪位玩家会获胜。
输入格式
输入以以下格式从标准输入给出。
> $N$ $M$ $A_1$ $A_2$ $\ldots$ $A_N$ $X_1$ $Y_1$ $X_2$ $Y_2$ $\vdots$ $X_M$ $Y_M$
输出格式
如果高桥君获胜,输出 `Takahashi`;如果青木君获胜,输出 `Aoki`。
说明/提示
### 约束条件
- $1 \leq N \leq 2 \times 10^5$
- $1 \leq M \leq 2 \times 10^5$
- $1 \leq A_i \leq 10^{18}$
- $1 \leq Y_i \leq X_i \leq 10^{18}$
- $i \neq j \Rightarrow (X_i, Y_i) \neq (X_j, Y_j)$
- 所有输入均为整数
### 样例解释 1
对于 $i = 1, 2, 3$,设第 $i$ 个山堆的石子数为 $A'_i$,用数列 $A' = (A'_1, A'_2, A'_3)$ 表示各山堆当前的石子数。游戏开始前,$A' = (1, 2, 4)$。游戏进行的一种可能如下:
- 首先,高桥君从第 $3$ 个山堆取走 $1$ 个石子,结果 $A' = (1, 2, 3)$。
- 接着,青木君从第 $2$ 个山堆取走 $2$ 个石子,结果 $A' = (1, 0, 3)$。
- 然后,高桥君从第 $3$ 个山堆取走 $2$ 个石子,结果 $A' = (1, 0, 1)$。
此时,第 $1$ 个和第 $3$ 个山堆还各剩 $1$ 个石子,但由于“从恰好有 $1$ 个石子的山堆中恰好取走 $1$ 个石子”属于第 $4$ 种禁手,青木君无法进行操作。因此,高桥君获胜。
由 ChatGPT 4.1 翻译