AT_arc012_3.[ARC012C] 五目並べチェッカー
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君非常喜欢五目并。
五目并是一种在 19×19 的棋盘上,双方轮流各下一枚棋子,先将自己的棋子在纵向、横向或斜向上连成 5 个或以上者获胜并结束游戏的规则。
游戏总是由黑方先手。
高桥君和朋友青木君下五目并时,不小心睡着了。
高桥君怀疑在他睡觉期间青木君做了手脚,因此想检查棋盘状态是否有异常。
请你编写程序,判断当前五目并棋盘状态是否正常。
这里的异常状态指的是:
- 某一方已经满足胜利条件,但另一方还继续下了棋。
- 双方下子的数量出现了不可能的情况。
输入格式如下,从标准输入读取。
b1,1 b2,1 … b19,1
b1,2 b2,2 … b19,2
:
:
b1,19 b2,19 … b19,19
- 输入共 19 行。
- 第 i 行第 j 个字符 bi,j 表示棋盘第 i 行第 j 列的格子内容。
- bi,j 只可能是
o、x或.三种字符。o表示该格有黑子。x表示该格有白子。.表示该格为空。
如果棋盘状态正常,输出 YES,否则输出 NO。
输出到标准输出,末尾需换行。
...................
...................
...................
...................
....x......o.......
...................
...................
.......o....o......
...................
........x..........
..............o....
...................
.......x...........
...................
...................
...................
...................
...................
...................
YES
- 黑方下了 4 子,白方下了 3 子。
- (原描述有误,已修正。)
...................
...................
...................
...................
....x......o.......
...................
...................
.......o....o......
...................
........x..........
..............o....
...................
.......x...........
...................
...................
.........o.........
...................
...................
...................
NO
- 黑方下了 5 子,白方下了 3 子。
- 黑方多下一子,属于异常状态。
...................
...................
...................
...................
...................
...................
...................
...................
........ooooo......
.........xxxx......
........x..........
...................
...................
...................
...................
...................
...................
...................
...................
NO
- 黑方下了 5 子,白方下了 5 子。
- 一方已经满足胜利条件时,游戏应立即结束,因此黑方满足胜利条件时还继续下棋属于异常状态。
- (原描述有误,已修正。)
...................
...................
...................
...................
...................
...................
...................
...................
........ooooo......
.........xxxx......
...................
...................
...................
...................
...................
...................
...................
...................
...................
YES
- 黑方下了 5 子,白方下了 4 子。
- 黑方连成 5 子获胜,属于正常状态。
...................
...................
...................
...................
...................
...................
...................
...................
.........x.........
......oooooo.......
........xxxx.......
...................
...................
...................
...................
...................
...................
...................
...................
YES
- 黑子连成 6 个也属于正常。
- 例如黑子原本有 2 个连在一起,中间隔一个空格,后面又有 3 个连在一起,若在中间空格处下黑子,就会出现这种情况。
...................
...................
...................
...................
...................
...................
........x..........
........x....x.....
...........x.......
...oooooooooo......
...................
......x......x.....
....x......x.......
.........x.........
...................
...................
...................
...................
...................
NO
- 黑方下了 10 子,白方下了 9 子。
- 在黑子连成 10 个之前,黑方已经获胜,游戏应已结束,因此属于异常状态。
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
YES
- 如果高桥君(黑方)一子未下就睡着了,这种情况也是正常的。
输入格式
输入共 19 行,每行 19 个字符,仅包含 o、x、.。
输出格式
如果棋盘状态正常,输出 YES,否则输出 NO,末尾换行。
说明/提示
无。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?