Mê cung và những bức tường
Đề bài
Mô tả
Cho một mê cung dạng lưới kích thước , trong đó mỗi ô là ô trống (ký hiệu .) hoặc ô tường (ký hiệu #). Hai ô trống được gọi là kề nhau nếu chúng có chung một cạnh. Ban đầu, tất cả các ô trống tạo thành một vùng liên thông — nghĩa là từ một ô trống bất kỳ, ta có thể di chuyển đến mọi ô trống khác bằng cách chỉ đi qua các ô trống kề nhau.
Bạn cần biến chính xác ô trống thành ô tường, đồng thời các ô trống còn lại vẫn phải tạo thành một vùng liên thông. Đảm bảo rằng luôn tồn tại lời giải.
Hãy in lại lưới sau khi biến đổi. Đánh dấu các ô trống được biến thành tường bằng ký tự X. Các ô tường gốc giữ nguyên ký tự #, các ô trống không bị biến đổi giữ nguyên ký tự ..
Nếu có nhiều cách thoả mãn, in ra một cách bất kỳ.
Dữ liệu vào
- Dòng đầu tiên chứa ba số nguyên , , — chiều cao, chiều rộng của mê cung và số ô trống cần biến thành tường.
- dòng tiếp theo, mỗi dòng chứa ký tự
.hoặc#, mô tả mê cung ban đầu.
Dữ liệu ra
In ra dòng, mỗi dòng ký tự, mô tả mê cung sau khi biến đổi theo quy ước ở trên.
Ràng buộc
- , trong đó là số ô trống ban đầu.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 4 2 #..# ..#. #... |
#..# ..#X #..X |
Hai ô trống ở góc dưới-phải bị biến thành tường. Các ô trống còn lại vẫn liên thông. |
| 5 4 5 #... #.#. .#.. ...# .#.# |
#... #X#. X#.. X..# X#X# |
Năm ô trống bị biến thành tường. Các ô trống còn lại vẫn tạo thành một vùng liên thông duy nhất. Bài có nhiều đáp án hợp lệ; chấp nhận mọi đáp án thoả mãn. |
Bình luận