QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 512 MB 満点: 100 難易度: [表示]

#1811. Cómo mover los frijoles

統計

Existe una cuadrícula que consta de $H$ filas y $W$ columnas. La cuadrícula es cilíndrica: tiene sus lados izquierdo y derecho unidos, por lo que las columnas $1$ y $W$ son vecinas.

Algunas de las casillas de la cuadrícula contienen platos, y hay frijoles colocados en algunos de esos platos de tal manera que, inicialmente, cada plato contiene no más de un frijol. Más adelante en el juego, se permite que un plato contenga cualquier cantidad de frijoles.

Alice y Bob están jugando un juego en esta cuadrícula, moviéndose por turnos. Alice mueve primero. En cada turno, el jugador puede elegir cualquier frijol, denotar su fila y columna actual como $(r, c)$, y moverlo de acuerdo con las siguientes reglas:

  • Un frijol solo puede moverse a una casilla donde haya un plato.
  • Un frijol no puede moverse a una casilla donde este frijol en particular haya estado antes (todos los frijoles son distinguibles).
  • Desde $(r, c)$, un frijol puede moverse una casilla hacia abajo (a $(r + 1, c)$, posible solo cuando $r < H$), una casilla a la derecha (a $(r, c + 1)$ si $c < W$ o a $(r, 1)$ si $c = W$), o una casilla a la izquierda (a $(r, c - 1)$ si $c > 1$ o a $(r, W)$ si $c = 1$).

El jugador que no pueda mover ningún frijol en su turno pierde el juego.

Determine quién ganará si ambos jugadores juegan de manera óptima.

Entrada

La primera línea de la entrada contiene dos enteros $H$ y $W$ ($1 \le H, W \le 1000$).

Luego sigue la descripción inicial de la cuadrícula, que consiste en $H$ líneas, cada una conteniendo una cadena de longitud $W$. El $j$-ésimo carácter de la $i$-ésima de estas líneas es '#' cuando no hay un plato en la casilla $(i, j)$, '.' cuando hay un plato vacío en esa casilla, o 'B' cuando hay un plato con exactamente un frijol en esa casilla. No se garantiza que la cuadrícula contenga caracteres de los tres tipos (por ejemplo, una cuadrícula sin frijoles es válida).

Salida

Si Alice gana el juego cuando ambos jugadores juegan de manera óptima, imprima "Alice". De lo contrario, imprima "Bob".

Ejemplos

Entrada 1

2 3
B.#
#..

Salida 1

Alice

Entrada 2

1 1
B

Salida 2

Bob

Entrada 3

1 3
B#.

Salida 3

Alice

Nota

En el primer ejemplo, el único frijol está inicialmente en $(1, 1)$. Alice lo mueve a $(1, 2)$. El único movimiento de Bob es a $(2, 2)$, luego Alice mueve el frijol a $(2, 3)$ y Bob no tiene más movimientos, por lo que Alice es la ganadora.

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.