• 2443 三子棋游戏

    时间限制 : 10000/5000 MS(Java/Others) | 内存限制 : 131072/65536 KB(Java/Others)

    提交数 : 207 | 通过数 : 36

    题目描述

    三子棋游戏是一个小孩玩的游戏,在一个3*3的棋盘中进行。游戏有两个玩家,其中一个玩家(用字母“X”表示)先走棋,在一个没有被占用的网格位置中放置一个X。然后另一个玩家(用字母“O”表示),在一个没有被占用的网格中放置一个O。这两个玩家交替地放置X和O,直到棋盘的网格都被占用了,或者某个玩家的棋子占据了整条线(水平、垂直或者对角线)。游戏开始时棋盘是空的,用3行3列共9个字符“.”表示。如果X玩家走棋,则在相应的位置上放置X;如果是O玩家走棋,则在相应位置上放置O。下面的棋盘表示从游戏开始直到X玩家最后赢得比赛的一系列走棋过程。 你的任务是读入棋盘状态,判断其可不可能是一个有效的三子棋棋盘,也就是说是否存在一系列走棋,能到达该棋盘状态。

    ...    X..    X.O    X.O    X.O    X.O    X.O    X.O

    ...    ...    ...    ...    .O.    .O.    OO.    OO.

    ...    ...    ...    ..X    ..X    X.X    X.X    XXX


    输入要求

    输入的第1行是整数N,表示测试数据的个数,接下来有4*N-1行,表示N个棋盘格局,每两个棋盘格局之间用空行隔开。

    输出要求

    对每个棋盘格局,如果是一个有效的三子棋格局,则输出yes,否则输出no。

    输入样例

    2
    X.O
    OO.
    XXX
    
    O.X
    XX.
    OOO
    

    输出样例

    yes
    no

    提示


    来源

    NBU OJ

    [ 返回顶端 ] | [ 代码提交 ] | [ 统计数据 ] | [ 历史提交 ]