AT_arc012_3.[ARC012C] 五目並べチェッカー

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

高桥君非常喜欢五目并。
五目并是一种在 19×1919 \times 19 的棋盘上,双方轮流各下一枚棋子,先将自己的棋子在纵向、横向或斜向上连成 55 个或以上者获胜并结束游戏的规则。
游戏总是由黑方先手。
高桥君和朋友青木君下五目并时,不小心睡着了。
高桥君怀疑在他睡觉期间青木君做了手脚,因此想检查棋盘状态是否有异常。
请你编写程序,判断当前五目并棋盘状态是否正常。
这里的异常状态指的是:

  • 某一方已经满足胜利条件,但另一方还继续下了棋。
  • 双方下子的数量出现了不可能的情况。

输入格式如下,从标准输入读取。

b1,1 b2,1 … b19,1b_{1,1}\ b_{2,1}\ \ldots\ b_{19,1}
b1,2 b2,2 … b19,2b_{1,2}\ b_{2,2}\ \ldots\ b_{19,2}
::
::
b1,19 b2,19 … b19,19b_{1,19}\ b_{2,19}\ \ldots\ b_{19,19}

  • 输入共 1919 行。
  • 第 ii 行第 jj 个字符 bi,jb_{i,j} 表示棋盘第 ii 行第 jj 列的格子内容。
  • bi,jb_{i,j} 只可能是 o、x 或 . 三种字符。
    • o 表示该格有黑子。
    • x 表示该格有白子。
    • . 表示该格为空。

如果棋盘状态正常,输出 YES,否则输出 NO。
输出到标准输出,末尾需换行。

...................
...................
...................
...................
....x......o.......
...................
...................
.......o....o......
...................
........x..........
..............o....
...................
.......x...........
...................
...................
...................
...................
...................
...................
YES
  • 黑方下了 44 子,白方下了 33 子。
  • (原描述有误,已修正。)
...................
...................
...................
...................
....x......o.......
...................
...................
.......o....o......
...................
........x..........
..............o....
...................
.......x...........
...................
...................
.........o.........
...................
...................
...................
NO
  • 黑方下了 55 子,白方下了 33 子。
  • 黑方多下一子,属于异常状态。
...................
...................
...................
...................
...................
...................
...................
...................
........ooooo......
.........xxxx......
........x..........
...................
...................
...................
...................
...................
...................
...................
...................
NO
  • 黑方下了 55 子,白方下了 55 子。
  • 一方已经满足胜利条件时,游戏应立即结束,因此黑方满足胜利条件时还继续下棋属于异常状态。
  • (原描述有误,已修正。)
...................
...................
...................
...................
...................
...................
...................
...................
........ooooo......
.........xxxx......
...................
...................
...................
...................
...................
...................
...................
...................
...................
YES
  • 黑方下了 55 子,白方下了 44 子。
  • 黑方连成 55 子获胜,属于正常状态。
...................
...................
...................
...................
...................
...................
...................
...................
.........x.........
......oooooo.......
........xxxx.......
...................
...................
...................
...................
...................
...................
...................
...................
YES
  • 黑子连成 66 个也属于正常。
  • 例如黑子原本有 22 个连在一起,中间隔一个空格,后面又有 33 个连在一起,若在中间空格处下黑子,就会出现这种情况。
...................
...................
...................
...................
...................
...................
........x..........
........x....x.....
...........x.......
...oooooooooo......
...................
......x......x.....
....x......x.......
.........x.........
...................
...................
...................
...................
...................
NO
  • 黑方下了 1010 子,白方下了 99 子。
  • 在黑子连成 1010 个之前,黑方已经获胜,游戏应已结束,因此属于异常状态。
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
YES
  • 如果高桥君(黑方)一子未下就睡着了,这种情况也是正常的。

输入格式

输入共 1919 行,每行 1919 个字符,仅包含 o、x、.。

输出格式

如果棋盘状态正常,输出 YES,否则输出 NO,末尾换行。

说明/提示

无。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页