QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100 Difficulty: [show]

#2213. Quân mã

Statistics

Có một bàn cờ gồm $n$ hàng và $m$ cột. Một số ô trên bàn cờ bị hỏng. Trên bàn cờ có hai quân mã, do Alice và Bob điều khiển. Cách di chuyển của quân mã được xác định bởi hai tham số $r$ và $c$. Ở mỗi bước, Alice hoặc Bob có thể chuyển quân mã của mình đến một ô cách $r$ ô theo chiều ngang và $c$ ô theo chiều dọc, hoặc cách $r$ ô theo chiều dọc và $c$ ô theo chiều ngang.

Alice và Bob luân phiên chơi, Alice đi trước. Trong mỗi lượt, người chơi di chuyển quân mã của mình. Tuy nhiên, không được di chuyển quân mã đến ô bị hỏng hoặc ô đang có quân mã còn lại.

Có thêm một ràng buộc. Trạng thái của hai quân mã có thể được xem là một cặp có thứ tự $(a,b)$, trong đó $a$ là ô của Alice và $b$ là ô của Bob. Không được lặp lại một trạng thái đã xuất hiện trước đó.

Người chơi thua nếu không thể thực hiện nước đi trong lượt của mình. Hãy xác định người thắng nếu cả hai đều chơi tối ưu.

Dữ liệu vào

Dòng đầu tiên chứa bốn số nguyên $n$, $m$, $r$ và $c$ ($1 \le n,m \le 1000$, $0 \le r<n$, $0 \le c<m$).

Mỗi dòng trong $n$ dòng tiếp theo chứa một xâu có độ dài $m$. Các dòng này cùng mô tả bàn cờ. Mỗi ô thuộc một trong bốn loại:

  • “@”: Ô bị hỏng.
  • “.”: Ô không bị hỏng.
  • “A”: Ô không bị hỏng. Đây là vị trí ban đầu của quân mã của Alice.
  • “B”: Ô không bị hỏng. Đây là vị trí ban đầu của quân mã của Bob.

Đảm bảo rằng các ô “A” và “B” đều xuất hiện đúng một lần trên bàn cờ.

Dữ liệu ra

In tên người thắng: “Alice” hoặc “Bob”.

Ví dụ

Dữ liệu vào 1

2 3 1 2
A@.
B@.

Dữ liệu ra 1

Alice

Ghi chú

Ở bước thứ nhất, Alice di chuyển quân mã đến ô $(2,3)$.

Ở bước thứ hai, Bob di chuyển quân mã đến ô $(1,3)$.

Ở bước thứ ba, Alice di chuyển quân mã trở lại ô $(1,1)$.

Ở bước thứ tư, Bob không thể di chuyển quân mã trở lại ô $(2,1)$, vì như vậy sẽ tạo ra cặp ô có thứ tự $(1,1),(2,1)$ giống trạng thái ban đầu. Alice thắng.

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.