AT_arc219_d [ARC219D] Grid Game

题目描述

有一个 $N \times N$ 的网格。第 $i$ 行从上往下,第 $j$ 列从左往右的格子记作格子 $(i, j)$。格子 $(i, j)$ 初始包含 $A_{i, j}$ 颗石子。 Alice 和 Bob 用这个网格玩如下游戏。 - 由 Alice 先手,两人轮流操作。 - 每一回合,当前玩家选择一个格子,并把其中至少 $1$,至多 $K$ 颗石子一起移动到相邻的上方或左方的格子。具体分为以下几步: 1. 选择一个包含至少 $1$ 颗石子的 $(i, j)$ 格子。不能选择 $(1, 1)$。 2. 设该格子当前有 $c$ 颗石子,选择一个整数 $x$,满足 $1 \le x \le \min(c, K)$。 3. 选择目的地为上方的 $(i-1, j)$(如果存在)或左方的 $(i, j-1)$(如果存在),然后将格子 $(i, j)$ 的 $x$ 颗石子全部取出并移动到目标格子中。 无法进行操作的一方判负。 请判断在两人都采取最优策略的情况下,哪一方会取得胜利。 给出 $T$ 组测试数据,请依次求出每组的答案。

输入格式

输入按如下格式给出: > $T$ $\text{case}_1$ $\text{case}_2$ $\vdots$ $\text{case}_T$ 每组数据格式如下: > $N$ $K$ $A_{1,1}$ $A_{1,2}$ $\ldots$ $A_{1,N}$ $A_{2,1}$ $A_{2,2}$ $\ldots$ $A_{2,N}$ $\vdots$ $A_{N,1}$ $A_{N,2}$ $\ldots$ $A_{N,N}$

输出格式

按照输入顺序,每组测试数据输出一行答案。 对于每组数据,如果在双方均采取最优策略时 Alice 获胜,则输出 `Alice`;否则输出 `Bob`。

说明/提示

### 样例解释 1 考虑第一组测试数据。 例如,游戏可能按照如下方式进行(注意玩家未必总是采取最优策略): - Alice 回合:选 $(2, 2)$,拿出 $2$ 颗石子,移动到 $(1, 2)$。 - Bob 回合:选 $(1, 2)$,拿出 $2$ 颗石子,移动到 $(1, 1)$。 - Alice 回合:选 $(2, 1)$,拿出 $2$ 颗石子,移动到 $(1, 1)$。 - Bob 回合:选 $(2, 1)$,拿出 $1$ 颗石子,移动到 $(1, 1)$。 - Alice 回合:选 $(1, 2)$,拿出 $1$ 颗石子,移动到 $(1, 1)$。 - Bob 回合:此时无法行动,Bob 输。 在最优策略下,Alice 总是可以取得胜利。因此本组输出 `Alice`。 ### 数据范围 - $1\le T$ - $2\le N\le 100$ - $1\le K\le 10^9$ - $0\le A_{i,j}\le 10^9$ - 所有数据的 $N^2$ 之和不超过 $3\times 10^5$。 - 所有输入值均为整数。 由 ChatGPT 5 翻译