QOJ.ac

QOJ

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

#1811. Comment déplacer les haricots

Estadísticas

Il existe une grille composée de $H$ lignes et $W$ colonnes. La grille est cylindrique : ses côtés gauche et droit sont collés, de sorte que les colonnes $1$ et $W$ sont adjacentes.

Certaines cases de la grille contiennent des plats, et des haricots sont placés sur certains de ces plats de telle sorte qu'initialement, chaque plat ne contient pas plus d'un haricot. Plus tard dans le jeu, un plat est autorisé à contenir n'importe quel nombre de haricots.

Alice et Bob jouent à un jeu sur cette grille, en jouant à tour de rôle. Alice commence. À chaque tour, le joueur peut choisir n'importe quel haricot, noter sa ligne et sa colonne actuelles par $(r, c)$, et le déplacer selon les règles suivantes :

  • Un haricot ne peut être déplacé que vers une case où un plat est placé.
  • Un haricot ne peut pas être déplacé vers une case où ce haricot particulier se trouvait auparavant (tous les haricots sont distinguables).
  • Depuis $(r, c)$, un haricot peut être déplacé soit d'une case vers le bas (vers $(r + 1, c)$, possible uniquement si $r < H$), soit d'une case vers la droite (vers $(r, c + 1)$ si $c < W$ ou vers $(r, 1)$ si $c = W$), soit d'une case vers la gauche (vers $(r, c - 1)$ si $c > 1$ ou vers $(r, W)$ si $c = 1$).

Le joueur qui ne peut déplacer aucun haricot à son tour perd la partie.

Déterminez qui gagnera si les deux joueurs jouent de manière optimale.

Entrée

La première ligne de l'entrée contient deux entiers $H$ et $W$ ($1 \le H, W \le 1000$).

Ensuite, la description initiale de la grille suit, composée de $H$ lignes, chacune contenant une chaîne de longueur $W$. Le $j$-ième caractère de la $i$-ième de ces lignes est soit '#' lorsqu'il n'y a pas de plat à la case $(i, j)$, '.' lorsqu'il y a un plat vide à cette case, ou 'B' lorsqu'il y a un plat contenant exactement un haricot à cette case. Il n'est pas garanti que la grille contienne des caractères des trois types (par exemple, une grille sans haricots est valide).

Sortie

Si Alice gagne la partie lorsque les deux joueurs jouent de manière optimale, affichez « Alice ». Sinon, affichez « Bob ».

Exemples

Entrée 1

2 3
B.#
#..

Sortie 1

Alice

Entrée 2

1 1
B

Sortie 2

Bob

Entrée 3

1 3
B#.

Sortie 3

Alice

Remarque

Dans le premier exemple, le seul haricot est initialement en $(1, 1)$. Alice le déplace en $(1, 2)$. Le seul coup possible de Bob est vers $(2, 2)$, puis Alice déplace le haricot en $(2, 3)$ et Bob n'a plus de coups possibles, donc Alice est la gagnante.

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.