#P1296. 井字棋(tic)

井字棋(tic)

题目背景

井字棋,由于棋盘线排成井字故得名。

题目描述

井字棋是一种在 3×33 \times 3 格子棋盘上进行的连珠游戏,游戏由分别代表 OX 的两个游戏者轮流在格子里留下标记,任意三个相同标记形成一条直线(横、竖、对角线均可),则为获胜。一旦有胜利的一方,或是标记已经布满棋盘,则游戏结束不再继续落子。

则根据棋盘上 OX 标记的分布,对应的游戏状态有 55 种:

  • Impossible : 按照游戏规则,不可能出现的棋局排布;
  • Playing : 游戏进行中,尚未决出结果;
  • OWin : 代表 O 的一方获胜;
  • XWin : 代表 X 的一方获胜;
  • Tie : 平局,标记已经布满棋盘但仍未决出胜负。

现已知 TT 组井字棋棋盘上 OX 标记的分布,请编写程序判断每一组棋局对应的状态。

注意:

① 如棋局排布不符合规则,即使有连成直线的三个相同标记也属于 Impossible

② 游戏没有固定的先后手顺序,可由玩家自行确定。

输入格式

第一行一个整数 TT,表示有 TT 组数据,每组数据格式如下:

三行,每行三个整数空格隔开,表示整个棋盘的落子情况

其中 00 表示对应位置为空白,11 表示对应位置有 O 标记,22 表示对应位置有 X 标记

输出格式

TT 行,每行对应一组数据的答案

测试样例

5
0 0 0
0 1 2
0 0 0
1 0 0
2 1 2
0 0 1
0 0 2
1 1 2
0 0 2
2 1 2
2 1 2
1 2 1
1 1 0
2 2 0
2 0 2
Playing
OWin
XWin
Tie
Impossible

样例解释

样例一说明

下图的棋盘示意图与该样例 55 组数据一一对应:

数据范围

子任务 特殊性质
1(25pts)\texttt{1(25pts)} 每组数据保证符合游戏规则,且其中一方已取得胜利
2(25pts)\texttt{2(25pts)} 每组数据皆符合游戏规则
3、4(50pts)\texttt{3、4(50pts)}

对于所有的数据,有 1T501 \le T \le 50,每组数据保证不会出现 0,1,20,1,2 以外的数字