#B3783. [语言月赛202306] 棋
[语言月赛202306] 棋
题目描述
zyl 和「她」在 的格子纸上下五子棋。「她」总是先手。
现在你会得知以下信息:
- 格子纸的大小 ,代表棋盘共 行 列。
- 个仅由字符
~
、*
、$
构成的长度为 的字符串(即 个字符)。对于第 个字符串的第 个字符,~
表示第 行第 列的格子是空的,*
表示「她」已经在这一格落下棋子,$
表示 zyl 已经在这一格落下棋子。
类似于五子棋的基本规则,一局棋局由「先手」开始,双方轮流落子。如果有同一行,同一列,或者同一 斜对角线有同一方的连续五个棋子,那这一方便是胜者。
现在,请你以以下方式判断当前的棋局:如果已有一方获胜,请你判断是哪一方获胜。否则,请你判断当前轮到哪一方落子。
输入格式
输入共 行。
第一行两个整数 ,表示格子纸的大小。
接下来 行,每行一个长度为 的,仅由字符 ~
、 *
、$
组成的字符串,代表棋局的情况。
输出格式
输出共一行一个字符串或一个字符,表示棋局的情况。
- 如果已有一方获胜,输出一个字符串
Pleasing!
或zylwins!
。Pleasing!
表示「她」获胜,zylwins!
表示 zyl 获胜。 - 否则,输出一个字符
W
或Z
。W
表示当前轮到「她」落子,Z
表示轮到 zyl 落子。
5 5
~~*~$
***~~
~$*~~
~~*~$
$$*$~
Pleasing!
提示
样例 1 解释
在第三列有连续的五个 *
,所以「她」获胜了。
数据规模与约定
对于前 的数据,保证没有任何一方获胜。
对于 的数据, ,字符串仅由 ~
、*
、#
组成,而且不会出现任意同一行,同一列或是同一 斜对角线上有连续 6 个或以上连续且相同的 *
或 #
,并且最多只有一条连续的 个 *
或 $
。 *
的总数不小于 $
的总数,且至多比 $
的总数大 。保证输入的字符串至少存在一个字符 ~
。