Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2500 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Zen

Note: Bài này ngang 3500 bên codeforces
Công viên Thiền nằm trên một lưới ô vuông, các ô vuông là cát hoặc là đá. Kiến trúc sư nhận thấy công viên này còn rất bừa bộn. Khu vườn Thiền đẹp phải có dạng hình chữ nhật, mọi ô bên trong hình chữ nhật đều là ô cát và nếu có các ô giáp biên với hình chữ nhật này thì các ô đó phải là ô đá.
Bây giờ bạn đã được yêu cầu, với tư cách là một chuyên gia xây dựng, cần loại bỏ càng ít các ô đá càng tốt để có được những khu vườn Thiền đẹp(khi một ô đá nào đó được loại bỏ thì ô đó sẽ trở thành ô cát). Trong ví dụ dưới, các ô vuông có dấu chấm (.) là cát và các ô vuông có dấu thăng (#) là đá. Sau khi loại bỏ 6 ô đá ở Hình A thì ta được 2 khu vườn Thiền đẹp như Hình B. Ở Hình C thì ta không cần xoá ô đá nào.

Yêu cầu: Cho một lưới ô vuông kích thước N x M, hãy loại bỏ ít ô đá nhất để làm cho khu vườn Thiền trở nên đẹp và in ra khu vườn Thiền sau khi sửa trông như thế nào.

Input:

  • Dòng đầu tiên ghi số nguyên \(N\)\(M\) lần lượt là số hàng và số cột của công viên Thiền \((1 \le N, M \le 10^3)\).
  • Mỗi dòng trong \(N\) dòng tiếp theo sẽ là một chuỗi \(M\) ký tự '.' nếu ô vuông là cát và '#' nếu ô vuông tương ứng là đá.

Output:

  • Ghi ra tệp văn bản ZEN.OUT gồm một ma trận kích thước \(N \times M\), mô tả khu vườn Thiền sẽ trông như thế nào sau khi loại bỏ số lượng đá nhỏ nhất.

Lưu ý: Giải pháp của bạn bị sai nếu vẫn còn khu vườn Thiền chứa các ô là cát mà không phải là khu vườn Thiền đẹp.

Example

Test 1

Input
6 6
###...
#.#...
..#...
..#.##
..##.#
###..#
Output
###...
..#...
..#...
..#...
..#...
###...
Note

Loại bỏ 6 ô đá ở input để có một khu Thiền đẹp như ở output

Test 2

Input
3 3
###
###
###
Output
###
###
###
Note

Input nhập vào đã là một khu Thiền đẹp

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.