A5687 | 「THUPC 2024 初赛」三步棋
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
K 家里有一条不成文的规矩。如果家里只有 K 和 H 两个人,那么两个人会通过一种叫作“三步棋”的游戏来决定谁做饭。三步棋的规则与五子棋有一些相似之处。众所周知,五子棋是一种先连出五枚己方棋子者获胜的游戏。与五子棋相同的是,三步棋中双方也轮流在网格状的棋盘上摆放棋子,并根据是否连成指定的图案决定胜负。与五子棋不同的是:
1. 三步棋不区分双方的棋子,即可以认为双方执同色棋子进行游戏;
2. 在判定时,指定的图案不能旋转;
3. 如果连成指定的图案时,棋盘上的棋子数量恰好为 $3$ 的倍数,则连成指定的图案的一方获胜,否则判定该方负(即对方获胜)。
例如,如果指定的图案为
且当前盘面为
时,认为没有连成给定的折线形图案,其中
此时盘面上恰有 $11$ 枚棋子,而 $11$ 不是 $3$ 的倍数,所以判定放这枚棋子的玩家,也即先手输掉本局。
在 K 家,为了节约时间,通常使用 $5\times 5$ 的初始为空的棋盘进行三步棋。同时,每次也只会随机选择一个由不超过 $4$ 枚棋子组成的四连通图案。显然三步棋不存在平局,所以 K 和 H 约定由输的一方负责做饭。K 想知道,如果自己和 H 都足够聪明,那么以选中的图案进行的三步棋游戏是否为先手必胜;因为如果她更容易赢,她就要偷偷地给自己的妹妹放水。
1. 三步棋不区分双方的棋子,即可以认为双方执同色棋子进行游戏;
2. 在判定时,指定的图案不能旋转;
3. 如果连成指定的图案时,棋盘上的棋子数量恰好为 $3$ 的倍数,则连成指定的图案的一方获胜,否则判定该方负(即对方获胜)。
例如,如果指定的图案为
.o
oo且当前盘面为
o..o.
o.o..
oo...
o.o..
o..o.时,认为没有连成给定的折线形图案,其中
o 表示棋子,. 表示空格;但若接下来在第二行第二列放一枚棋子,则连成了给定的图案,对应的棋子使用 @ 表示:o..o.
o@o..
@@...
o.o..
o..o.此时盘面上恰有 $11$ 枚棋子,而 $11$ 不是 $3$ 的倍数,所以判定放这枚棋子的玩家,也即先手输掉本局。
在 K 家,为了节约时间,通常使用 $5\times 5$ 的初始为空的棋盘进行三步棋。同时,每次也只会随机选择一个由不超过 $4$ 枚棋子组成的四连通图案。显然三步棋不存在平局,所以 K 和 H 约定由输的一方负责做饭。K 想知道,如果自己和 H 都足够聪明,那么以选中的图案进行的三步棋游戏是否为先手必胜;因为如果她更容易赢,她就要偷偷地给自己的妹妹放水。
输入格式
输入文件包含多组数据。
输入的第一行包含一个正整数 $T$,表示数据组数。保证 $1\le T\le 200$。
对于每组数据,输入包含 $5$ 行,每行包括一个长度为 $5$ 且仅含
输入的第一行包含一个正整数 $T$,表示数据组数。保证 $1\le T\le 200$。
对于每组数据,输入包含 $5$ 行,每行包括一个长度为 $5$ 且仅含
. 及 o 的字符串,表示指定的图案。保证每组数据中 o 至少出现一次,且所有 o 组成一个大小不超过 $4$ 的四连通块。输出格式
对于每组数据输出一行。如果输入的图案为先手必胜,则输出
Far,否则输出 Away。输入输出样例
输入 #1
3 ..... oo... ..... ..... ..... .o... .o... ..... ..... ..... ..... ..... ..... .ooo. .....
输出 #1
Far Far Away
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?