QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 512 MB Puntuación total: 100 Dificultad: [mostrar]

#1811. 如何移动豆子

Estadísticas

有一个由 $H$ 行 $W$ 列组成的网格。该网格是圆柱形的:它的左侧和右侧连接在一起,因此第 $1$ 列和第 $W$ 列相邻。

网格中的一些方格放置了盘子,部分盘子上放置了豆子,初始时每个盘子中最多包含一颗豆子。在游戏过程中,一个盘子允许包含任意数量的豆子。

Alice 和 Bob 在这个网格上轮流进行游戏。Alice 先手。在每一回合中,玩家可以选择任意一颗豆子,设其当前所在的行和列为 $(r, c)$,并根据以下规则移动它:

  • 豆子只能移动到放置有盘子的方格。
  • 豆子不能移动到该特定豆子之前曾经到达过的方格(所有豆子都是可区分的)。
  • 从 $(r, c)$ 出发,豆子可以移动到下方一格(移动到 $(r + 1, c)$,仅在 $r < H$ 时可行)、右侧一格(若 $c < W$ 则移动到 $(r, c + 1)$,若 $c = W$ 则移动到 $(r, 1)$)或左侧一格(若 $c > 1$ 则移动到 $(r, c - 1)$,若 $c = 1$ 则移动到 $(r, W)$)。

无法移动任何豆子的玩家输掉游戏。

确定如果双方都采取最优策略,谁将获胜。

输入格式

第一行包含两个整数 $H$ 和 $W$ ($1 \le H, W \le 1000$)。

接下来是网格的初始描述,包含 $H$ 行,每行包含一个长度为 $W$ 的字符串。第 $i$ 行的第 $j$ 个字符表示:‘#’ 表示方格 $(i, j)$ 没有盘子,‘.’ 表示该方格有一个空盘子,‘B’ 表示该方格有一个放了一颗豆子的盘子。不保证网格中包含所有三种类型的字符(例如,没有豆子的网格也是合法的)。

输出格式

如果 Alice 在双方采取最优策略的情况下获胜,输出 “Alice”。否则,输出 “Bob”。

样例

样例输入 1

2 3
B.#
#..

样例输出 1

Alice

样例输入 2

1 1
B

样例输出 2

Bob

样例输入 3

1 3
B#.

样例输出 3

Alice

说明

在第一个样例中,唯一的豆子初始位于 $(1, 1)$。Alice 将其移动到 $(1, 2)$。Bob 唯一的移动是将豆子移动到 $(2, 2)$,然后 Alice 将豆子移动到 $(2, 3)$,此时 Bob 无法再进行移动,因此 Alice 获胜。

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.