Tic-Tac-Toe-Tomek 是一个在 $4 \times 4$ 方格棋盘上进行的游戏。棋盘初始为空,但其中一个方格可能预先放置了一个 'T' 符号。游戏有两名玩家:X 和 O。他们轮流落子,X 先手。每回合玩家将自己的符号放置在一个空格中。玩家 X 的符号是 'X',玩家 O 的符号是 'O'。
在玩家落子后,如果存在某一行、某一列或某一条对角线包含 4 个该玩家的符号,或者包含 3 个该玩家的符号加上 'T' 符号,则该玩家获胜,游戏结束。否则,游戏由另一名玩家继续。如果所有方格都被填满且无人获胜,则游戏以平局结束。请参考样例输入以了解各种获胜局面的示例。
给定一个包含 'X'、'O'、'T' 和 '.' 字符(其中 '.' 代表空格)的 $4 \times 4$ 棋盘描述,表示当前游戏状态,请确定 Tic-Tac-Toe-Tomek 游戏的状态。可选的状态包括:
- "X won"(游戏结束,X 获胜)
- "O won"(游戏结束,O 获胜)
- "Draw"(游戏结束,平局)
- "Game has not completed"(游戏尚未结束)
如果棋盘中存在空格且游戏尚未结束,即使胜负已定,也应输出 "Game has not completed"。
输入格式
输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含 4 行,每行 4 个字符,字符为 'X'、'O'、'.' 或 'T'。每个测试用例后跟一个空行。
输出格式
对于每个测试用例,输出一行 "Case #x: y",其中 $x$ 是测试用例编号(从 1 开始),$y$ 是上述给出的状态之一。请确保状态完全准确。在运行代码处理样例输入时,输出应与样例输出完全一致,包括 "Case #1: "、大写字母 "O" 而非数字 "0" 等。
数据范围
提供的游戏棋盘将代表通过上述 Tic-Tac-Toe-Tomek 游戏规则所达到的合法状态。
样例
输入格式 1
6 XXXT .... OO.. .... XOXT XXOO OXOX XXOO XOX. OX.. .... .... OOXX OXXX OX.T O..O XXXO ..O. .O.. T... OXXX XO.. ..O. ...O
输出格式 1
Case #1: X won Case #2: Draw Case #3: Game has not completed Case #4: O won Case #5: O won Case #6: O won
说明
尽管你的浏览器可能不会在样例输入的最后一个测试用例后渲染空行,但在实际的输入文件中会包含该空行。