#P15712. 圆柱棋盘移豆子

圆柱棋盘移豆子

题目描述

有一个由 HHWW 列组成的棋盘。这个棋盘是圆柱形的:最左侧和最右侧相连,因此第 11 列和第 WW 列互为相邻列。

棋盘上的一些格子放有盘子,部分盘子上初始放有豆子。初始时,每个盘子中至多有一颗豆子;但游戏过程中,一个盘子中可以有任意多颗豆子。

Alice 和 Bob 在这个棋盘上轮流移动豆子,Alice 先手。每一回合,当前玩家可以选择任意一颗豆子。若这颗豆子当前位于 (r,c)(r,c),则可以按以下规则移动:

  • 豆子只能移动到有盘子的格子;
  • 这颗豆子不能移动到它之前曾经到过的格子。注意,所有豆子彼此可区分;
  • 可以从 (r,c)(r,c) 移动到下方一格 (r+1,c)(r+1,c),仅当 r<Hr<H
  • 可以从 (r,c)(r,c) 移动到右侧一格:若 c<Wc<W,到 (r,c+1)(r,c+1);若 c=Wc=W,到 (r,1)(r,1)
  • 可以从 (r,c)(r,c) 移动到左侧一格:若 c>1c>1,到 (r,c1)(r,c-1);若 c=1c=1,到 (r,W)(r,W)

无法在自己回合移动任何豆子的玩家失败。

请判断双方都采取最优策略时,谁会获胜。

输入格式

第一行包含两个整数 H,WH,W

接下来 HH 行,每行包含一个长度为 WW 的字符串,描述初始棋盘。第 ii 行第 jj 个字符表示格子 (i,j)(i,j)

  • # 表示该格子没有盘子;
  • . 表示该格子有空盘子;
  • B 表示该格子有盘子,且初始放有一颗豆子。

输入不保证三种字符都出现。

输出格式

如果 Alice 在双方最优策略下获胜,输出:

Alice

否则输出:

Bob

数据范围

  • 1H,W10001\le H,W\le 1000

样例 1

输入

2 3
B.#
#..

输出

Alice

解释

唯一的豆子初始位于 (1,1)(1,1)。Alice 将它移动到 (1,2)(1,2)。Bob 只能将它移动到 (2,2)(2,2),随后 Alice 将它移动到 (2,3)(2,3),Bob 无法继续移动,因此 Alice 获胜。

样例 2

输入

1 1
B

输出

Bob

样例 3

输入

1 3
B#.

输出

Alice