Đẩy Hộp
Đề bài
Mô tả
Bessie đang ở trong một cái kho hình chữ nhật kích thước ô vuông. Mỗi ô có thể là ô trống (.), chướng ngại vật (#), vị trí của Bessie (A), hoặc vị trí của hộp (B). Bessie có thể di chuyển lên, xuống, trái, phải sang các ô trống liền kề (không phải chướng ngại vật và không phải ô chứa hộp).
Khi Bessie di chuyển vào ô chứa hộp, cô sẽ đẩy hộp theo cùng hướng đó: hộp dịch chuyển sang ô tiếp theo theo hướng di chuyển của Bessie. Nếu ô tiếp theo của hộp là chướng ngại vật hoặc nằm ngoài biên, việc đẩy không hợp lệ và Bessie không thể thực hiện bước đó.
Cho truy vấn, mỗi truy vấn hỏi: Bessie có thể đẩy hộp đến ô hay không?
Dữ liệu vào
- Dòng đầu: ba số nguyên , , .
- dòng tiếp theo: mô tả lưới kho, mỗi dòng gồm ký tự (
#,.,A,B). - dòng tiếp theo: mỗi dòng gồm hai số nguyên , là tọa độ ô đích (1-indexed).
Dữ liệu ra
Với mỗi truy vấn, in YES nếu Bessie có thể đẩy hộp đến ô , ngược lại in NO.
Ràng buộc
- Đúng một ô là
Avà đúng một ô làB. - Ô đích của mỗi truy vấn luôn là ô trống hoặc ô
B.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 5 4 ##.## ##.## A.B.. ##.## ##.## 3 2 3 5 1 3 5 3 |
NO YES NO NO |
Hộp ban đầu ở , Bessie ở . Bessie chỉ đứng được ở phía Tây của hộp nên chỉ có thể đẩy hộp sang Đông, tới rồi . Truy vấn trả lời NO vì muốn đưa hộp sang Tây thì Bessie phải đứng ở , mà lúc đầu cô không sang được phía đó. |
| 5 5 16 ..... .###. .#.#. A.B.. ##.## 1 1 1 2 1 3 1 4 1 5 2 1 2 5 3 1 3 3 3 5 4 1 4 2 4 3 4 4 4 5 5 3 |
NO NO NO NO NO NO NO NO NO NO YES YES YES YES YES NO |
Hai ô và chỉ nối với phần còn lại qua chính ô chứa hộp, nên Bessie không bao giờ đứng được ở phía Bắc hay phía Nam của hộp, tức là hộp chỉ bị đẩy dọc hàng 4. Đi vòng qua hàng 1 để đổi bên, Bessie đẩy được hộp tới mọi ô của hàng 4. |
Bình luận