#B3783. [语言月赛202306] 棋

    ID: 8657 远端评测题 1000ms 512MiB 尝试: 5 已通过: 1 难度: 2 上传者: 标签>模拟2023O2优化字符串(入门)语言月赛

[语言月赛202306] 棋

题目描述

zyl 和「她」在 n×mn\times m 的格子纸上下五子棋。「她」总是先手

现在你会得知以下信息:

  • 格子纸的大小 n,mn, m,代表棋盘共 nnmm 列。
  • nn 个仅由字符 ~*$ 构成的长度为 mm 的字符串(即 n×mn \times m 个字符)。对于第 ii 个字符串的第 jj 个字符,~ 表示第 ii 行第 jj 列的格子是空的,* 表示「她」已经在这一格落下棋子,$ 表示 zyl 已经在这一格落下棋子。

类似于五子棋的基本规则,一局棋局由「先手」开始,双方轮流落子。如果有同一行,同一列,或者同一 45°45\degree 斜对角线有同一方连续五个棋子,那这一方便是胜者。

现在,请你以以下方式判断当前的棋局:如果已有一方获胜,请你判断是哪一方获胜。否则,请你判断当前轮到哪一方落子。

输入格式

输入共 n+1n + 1 行。

第一行两个整数 n,mn,m,表示格子纸的大小。
接下来 nn 行,每行一个长度为 mm 的,仅由字符 ~*$ 组成的字符串,代表棋局的情况。

输出格式

输出共一行一个字符串或一个字符,表示棋局的情况。

  • 如果已有一方获胜,输出一个字符串 Pleasing!zylwins!Pleasing! 表示「她」获胜,zylwins! 表示 zyl 获胜。
  • 否则,输出一个字符 WZW 表示当前轮到「她」落子,Z 表示轮到 zyl 落子。
5 5
~~*~$
***~~
~$*~~
~~*~$
$$*$~

Pleasing!

提示

样例 1 解释

在第三列有连续的五个 *,所以「她」获胜了。

数据规模与约定

对于前 40%40\% 的数据,保证没有任何一方获胜。

对于 100%100\% 的数据, 5n,m305\leq n,m \leq 30,字符串仅由 ~*# 组成,而且不会出现任意同一行,同一列或是同一 45°45\degree 斜对角线上有连续 6 个或以上连续且相同的 *#,并且最多只有一条连续的 55*$* 的总数不小于 $ 的总数,且至多比 $ 的总数大 11。保证输入的字符串至少存在一个字符 ~