3916: 张老师的井字棋

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

张老师最近很喜欢玩 **井字棋**,这天他找到黄老师一起下 **井字棋**

井字棋是在 $3 * 3$ 的网格中,双方轮流放下棋子,抢先形成一行/一列/一组对角线同色棋子的玩家胜利。

张老师和黄老师玩的井字棋规则如下

1. 张老师和黄老师轮流将自己的棋子放入空位(用 `.` 表示)中,并且每局游戏都是张老师先手(张老师先下棋)
2. 张老师放的棋子用 `X`(大写字母) 表示,黄老师的棋子用 `H` 表示
3. 不允许把棋子放入已有棋子的位置中,只能放入空位
4. 当有 $3$ 个相同的棋子出现在同一行,同一列,或者同一对角线时,游戏结束,连出 $3$ 个棋子的人获胜
5. 当所有空位都被填满,游戏也会结束,此时平局
6. 游戏结束后不允许再次下棋

现在张老师和黄老师玩到中途,对现在的棋局有一些争议!

他们觉得现在的棋局可能不是正常下棋能形成的局面,可能双方在下棋时出现了犯规的行为

比如这是一个可能形成的局面,张老师先手下在了 $(2,3)$ 处,然后黄老师下在了 $(3,2)$ 处
```
...
..X
.H.
```

比如这是一个不可能形成的局面,张老师在连成 $3$ 个 $X$ 以后游戏就结束了,黄老师不应该再下棋
```
X.H
X.H
X.H
```
比如这是一个不可能形成的局面,张老师作为先手,不可能下了一个棋子后黄老师能连下两个棋子
```
.H.
.H.
.X.
```

现在张老师和黄老师希望你来帮他们判断一下,现在的局面到底是不是合法的?

如果是则输出 `Yes` 否则输出 `No`

输入

输入第一行包含一个正整数 $T$ 表示有多组测试数据

对于每组测试数据:输入三行长度为 $3$ 的字符串用来描述当前的棋局情况

其中每组测试数据之间会空一行

对于 $10\%$ 的数据保证:$1 \leq T \leq 5$,其中每组测试数据中最多只存在一个棋子

对于 $40\%$ 的数据保证: $1 \leq T \leq 10$,其中每组测试数据中最多只存在四个棋子

对于 $100\%$ 的数据保证: $1 \leq T \leq 1000$

输出

对于每组测试数据,输出当前局面是否合法,合法则输出 `Yes` 否则输出 `No`

样例输入 复制

3
...
..X
.H.

X.H
X.H
X.H

.H.
.H.
.X.

样例输出 复制

Yes
No
No

来源/分类