trang chủ / đề bài / mazewall

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 n×m, 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 k ô 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 n, m, k — chiều cao, chiều rộng của mê cung và số ô trống cần biến thành tường.
  • n dòng tiếp theo, mỗi dòng chứa m ký tự . hoặc #, mô tả mê cung ban đầu.

Dữ liệu ra

In ra n dòng, mỗi dòng m ký tự, mô tả mê cung sau khi biến đổi theo quy ước ở trên.

Ràng buộc

  • 1≤n,m≤500
  • 0≤k<s, trong đó s 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

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0