AT_abc229_h [ABC229H] Advance or Eat
题目描述
有一个 $N$ 行 $N$ 列的网格,每个格子中要么放有一个白色棋子,要么放有一个黑色棋子,要么为空。
从上往下第 $i$ 行,从左往右第 $j$ 列的格子的状态用 $S_{i,j}$ 表示,`W` 表示放有白色棋子,`B` 表示放有黑色棋子,`.` 表示该格为空。
高桥君和すぬけ君进行一场游戏。高桥君先手,双方轮流进行操作。
在高桥君的回合,他可以选择以下两种操作之一:
- 选择一个上方有空格的**白色棋子**,并将其向上移动一格;
- 吃掉任意一个**黑色棋子**。
在すぬけ君的回合,他可以选择以下两种操作之一:
- 选择一个上方有空格的**黑色棋子**,并将其向上移动一格;
- 吃掉任意一个**白色棋子**。
无法进行操作的一方判负。当双方都采取最优策略时,谁会获胜?
注意,“将棋子向上移动”是指将第 $i$ 行第 $j$ 列的棋子移动到第 $i-1$ 行第 $j$ 列。
高桥君和すぬけ君从同一方向观察棋盘,“上”对两人来说方向相同。
输入格式
输入按以下格式从标准输入读入。
> $N$
> $S_{1,1}S_{1,2}\ldots S_{1,N}$
> $S_{2,1}S_{2,2}\ldots S_{2,N}$
> $\vdots$
> $S_{N,1}S_{N,2}\ldots S_{N,N}$
输出格式
如果高桥君获胜,输出 `Takahashi`;如果すぬけ君获胜,输出 `Snuke`。
说明/提示
## 限制条件
- $1 \leq N \leq 8$
- $N$ 为整数
- $S_{i,j}$ 只可能为 `W`、`B` 或 `.`
## 样例解释 1
一开始高桥君吃掉第 $1$ 行第 $1$ 列的黑色棋子后,棋盘如下所示:
```
.B.
.B.
...
```
此时すぬけ君无法进行任何操作,因此高桥君获胜。
注意,不能将棋子移动到棋盘外,也不能将棋子移动到已有棋子的格子上。
由 ChatGPT 4.1 翻译