Trò chơi trên lưới
Đề bài
Mô tả
Cho một lưới ban đầu trống. Bạn nhận được một dãy các quân cờ, mỗi quân có dạng (đứng) hoặc (nằm). Bạn phải lần lượt đặt tất cả các quân cờ theo đúng thứ tự trong dãy.
Khi một quân cờ được đặt, nó chiếm hai ô liền kề của lưới. Ngay sau đó, mọi ô nằm trong một hàng hoặc một cột đã bị chiếm hoàn toàn (cả 4 ô đều có quân) sẽ bị xoá. Việc xoá được thực hiện đồng thời và độc lập: ta xác định toàn bộ các hàng đầy và cột đầy trước, rồi mới xoá tất cả các ô thuộc chúng cùng lúc.
Mục tiêu của bạn là đặt được tất cả các quân cờ sao cho tại mọi thời điểm các quân cờ không bao giờ chồng lên nhau (kể cả khi đặt quân mới phải đặt vào các ô đang trống).
Với mỗi quân cờ, hãy in ra hai số nguyên dương — số hàng nhỏ nhất và số cột nhỏ nhất mà quân cờ đó chiếm. Cụ thể, một quân đứng đặt tại chiếm hai ô và ; một quân nằm đặt tại chiếm hai ô và .
Dữ liệu được bảo đảm luôn tồn tại cách đặt hợp lệ. Nếu có nhiều cách, in ra một cách bất kỳ.
Dữ liệu vào
Một dòng duy nhất chứa xâu gồm các ký tự 0 và 1 (). Ký tự 0 mô tả quân đứng (), ký tự 1 mô tả quân nằm ().
Dữ liệu ra
In ra dòng — với mỗi quân cờ in hai số nguyên dương () là số hàng nhỏ nhất và số cột nhỏ nhất mà quân đó chiếm.
Ràng buộc
- Lưới có kích thước .
- Luôn tồn tại đáp án hợp lệ.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 010 | 3 1 1 3 1 1 |
Quân 1 (đứng) chiếm (3,1),(4,1). Quân 2 (nằm) chiếm (1,3),(1,4). Quân 3 (đứng) chiếm (1,1),(2,1); lúc này cột 1 gồm (1,1),(2,1),(3,1),(4,1) đã đầy nên cả cột bị xoá. Đây chỉ là một trong nhiều đáp án hợp lệ; mọi cách đặt không chồng lấn đều được chấp nhận. |
| 0 | 3 1 | Một quân đứng chiếm hai ô (3,1) và (4,1); không hàng/cột nào đầy nên không xoá gì. |
Bình luận