#P2361. Tic Tac Toe

Tic Tac Toe

描述

井字棋是一种儿童游戏,在一个 3×33 \times 3 的方格中进行。玩家 XX 先手,在一个未被占据的位置放置一个 XX。然后另一名玩家 OO 在一个未被占据的位置放置一个 OO。游戏在 XXOO 之间交替进行,直到方格被填满或其中一名玩家的符号占据了方格中的一整行(垂直、水平或对角线)。

我们用九个点(即 ......)表示初始的空井字棋方格。每当 XXOO 落子时,我们在相应的位置填入 XXOO。下面的例子展示了一局游戏中从开始到 XX 获胜的每一步方格状态:

...  X..  X.O  X.O  X.O  X.O  X.O  X.O  
...  ...  ...  ...  .O.  .O.  OO.  OO.  
...  ...  ...  ..X  ..X  X.X  X.X  XXX  

你的任务是读取一个方格状态,并判断它是否可能是有效井字棋游戏的一部分。也就是说,是否存在一系列合法的落子步骤,使得在游戏的某个时刻(从开始到结束)出现这个方格状态?

输入

第一行输入包含一个整数 NN,表示测试用例的数量。随后是 4N14N - 1 行,指定 NN 个方格状态,每个状态之间用空行分隔。

输出

对于每个测试用例,输出一行 yesno,表示该方格状态是否可能是井字棋游戏的一部分。

输入样例 1

2  
X.O  
OO.  
XXX  

O.X  
XX.  
OOO  

输出样例 1

yes  
no  

来源
Waterloo Local Contest, 2002.09.21