QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 512 MB Total points: 100

#7970. 三步棋

Statistics

题目背景

// 如果验题人看到这条注释,请联系出题人补全。这里没写完的题目背景理论上不影响选手做题。

// 如果搬到比赛平台上时这条注释还在,那说明出题人写不完了,把题目背景去掉即可。

题目描述

K 家里有一条不成文的规矩。如果家里只有 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$ 且仅含 .o 的字符串,表示指定的图案。保证每组数据中 o 至少出现一次,且所有 o 组成一个大小不超过 $4$ 的四连通块。

输出格式

输出到标准输出。

对于每组数据输出一行。如果输入的图案为先手必胜,则输出 Far,否则输出 Away

样例1输入

3
.....
oo...
.....
.....
.....
.o...
.o...
.....
.....
.....
.....
.....
.....
.ooo.
.....

样例1输出

Far
Far
Away

样例1解释

该样例包含三组数据。

第一组数据输入的图案为 $1$ 行 $2$ 列的 oo。显然,无论先手将棋子放在棋盘上的哪个位置,后手都只有两种策略:

  • 和先手的棋子连成 oo,此时棋盘上只有 $2$ 枚棋子,故后手立即输掉游戏;
  • 不和先手的棋子连成 oo,但是接下来轮到先手时,先手可以任意连成 oo,此时棋盘上恰有 $3$ 枚棋子,故先手取胜。

无论是哪种策略,后手都无法取胜,故对于 oo 而言先手必胜

第二组数据输入的图案为 $2$ 行 $1$ 列的图案,与 oo 同理,可知为先手必胜

第三组数据输入的图案为 $1$ 行 $3$ 列的 ooo,可以证明为先手必败。

子任务

保证 $1\le T\le 200$。对于每组数据,保证输入的 $5\times 5$ 的由 .o 组成的字符矩阵中至少含有一个 o,且所有 o 组成一个大小不超过 $4$ 的四连通块。

About Issues

We understand that our problem archive is not perfect. If you find any issues with the problem, including the statement, scoring configuration, time/memory limits, test cases, etc.

You may use this form to submit an issue regarding the problem. A problem moderator will review your issue and proceed it properly.

STOP! Before you submit an issue, please READ the following guidelines:

  1. This is not a place to publish a discussion, editorial, or requests to debug your code. Your issue will only be visible by you and problem moderators. Other users will not be able to view or reply your issues.
  2. Do not submit duplicated issues. If you have already submitted one, please wait for an moderator to review it. Submitting multiple issues will not speed up the review process and might cause your account to be banned.
  3. Issues must be filed in English or Chinese only.
  4. Be sure your issue is related to this problem. If you need to submit an issue regarding another problem, contest, category, etc., you should submit it to the corresponding page.

Active Issues 0

No issues in this category.

Closed/Resolved Issues 0

No issues in this category.