#2124. 徐老师的井字棋

徐老师的井字棋

题目描述

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

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

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

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

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

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

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

...
..X
.H.

比如这是一个不可能形成的局面,徐老师在连成 33XX 以后游戏就结束了,黄老师不应该再下棋

X.H
X.H
X.H

比如这是一个不可能形成的局面,徐老师作为先手,不可能下了一个棋子后黄老师能连下两个棋子

.H.
.H.
.X.

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

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

输入格式

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

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

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

输出格式

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

数据范围

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

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

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

样例输入1

3
...
..X
.H.

X.H
X.H
X.H

.H.
.H.
.X.

样例输出1

Yes
No
No