QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 2048 MB Total points: 100

#5077. Card Game

統計

Alice 和 Bob 轮流从网格棋盘上移除卡片。游戏开始时,$N \times M$ 大小的网格棋盘的每个格子中都有一张卡片,每张卡片被涂成红色、蓝色或绿色三种颜色之一。在网格中,左上角格子的位置记为 $(1,1)$,右下角格子的位置记为 $(N, M)$。

Alice 和 Bob 选择棋盘上的一张卡片,然后根据以下规则移除卡片:

  • 如果所选卡片的颜色是红色,则移除所有基于该卡片且位于斜率为 1 的对角线上的“相连卡片”。
  • 如果所选卡片的颜色是蓝色,则移除所有基于该卡片且位于斜率为 -1 的对角线上的“相连卡片”。
  • 如果所选卡片的颜色是绿色,则移除所有基于该卡片且位于两个方向的对角线上的“相连卡片”。

与所选卡片“相连的卡片”是指沿斜率为 1 或 -1 的对角线连续相邻的卡片,包括所选卡片本身。

例如,当游戏过程中的当前棋盘状况如图 A.1 所示时,假设选中的卡片是位于 $(4,3)$ 的红色卡片。如图 A.1 所示,位于斜率为 1 的对角线上的“相连卡片”是指椭圆圈内的卡片,这些卡片应被移除。也就是说,从位置 $(4,3)$ 出发沿对角线两个方向移动时,路径上经过的格子中的卡片即为“相连卡片”。然而,在所选格子 $(4,3)$ 沿对角线两个方向移动时,如果遇到网格边界或空白格子,移动即停止。

图 A.1. 说明位于 $(4,3)$ 的红色卡片的相连卡片的示例

类似地,当游戏过程中的当前棋盘状况如图 A.2 所示时,假设选中的卡片是位于 $(3,5)$ 的蓝色卡片。如图 A.2 所示,位于斜率为 -1 的对角线上的“相连卡片”是指椭圆圈内的卡片,这些卡片应被移除。

图 A.2. 说明位于 $(3,5)$ 的蓝色卡片的相连卡片的示例

图 A.3 显示了当选中的卡片是位于 $(4,5)$ 的绿色卡片时需要移除的卡片。

图 A.3. 说明位于 $(4,5)$ 的绿色卡片的相连卡片的示例

Alice 和 Bob 交替从网格中选择一张卡片,并根据所选卡片的颜色,按照上述规则移除“相连卡片”。谁移除了最后一张卡片,谁就赢得了游戏。也就是说,如果因为网格上没有卡片可选而无法移除任何卡片,则该玩家输掉游戏。Alice 和 Bob 都非常了解如何赢得游戏的策略,并会尽力获胜。

给定网格棋盘的大小以及棋盘上放置的卡片的颜色信息,编写一个程序来确定 Alice 先手时是否能获胜。

输入格式

程序从标准输入读取数据。输入的第一行包含两个整数 $N$ 和 $M$ ($1 \le N, M \le 25$),其中 $N$ 是网格的行数,$M$ 是列数。接下来的 $N$ 行中,第 $i$ 行包含一个长度为 $M$ 的字符串,表示网格第 $i$ 行中 $M$ 张卡片的颜色。字符串中的每个字符均为 ‘R’、‘B’ 或 ‘G’,分别代表红色、蓝色或绿色。

输出格式

程序将结果写入标准输出。仅打印一行。该行应包含一个大写字母:如果 Alice 获胜则输出 ‘W’,如果 Alice 输掉则输出 ‘L’。

样例

输入 1

1 3
BBB

输出 1

W

输入 2

2 3
BBG
RGR

输出 2

W

输入 3

2 2
GG
GG

输出 3

L

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.