Gấu và lưới hình vuông
Đề bài
Mô tả
Cho một lưới ô vuông kích thước . Mỗi ô của lưới là trống (kí hiệu .) hoặc bị chặn (kí hiệu X).
Hai ô trống được gọi là kề trực tiếp nếu chúng có chung một cạnh. Hai ô được gọi là liên thông nếu tồn tại một dãy các ô trống bắt đầu từ ô này và kết thúc ở ô kia sao cho hai ô liên tiếp trong dãy luôn kề trực tiếp. Một thành phần liên thông là tập các ô trống mà bất kỳ hai ô trong tập đều liên thông với nhau và không ô nào trong tập liên thông với ô trống nào ngoài tập đó.
Bạn được phép chọn đúng một hình vuông kích thước nằm hoàn toàn trong lưới và biến mọi ô bị chặn bên trong hình vuông đó thành ô trống. (Bạn được phép chọn hình vuông không cần thay đổi gì cả nếu mọi ô trong đó vốn đã trống.)
Hãy xác định kích thước lớn nhất của một thành phần liên thông trong lưới sau khi thực hiện thao tác trên.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- dòng tiếp theo, mỗi dòng gồm kí tự
.hoặcXmô tả lưới.
Dữ liệu ra
In ra một số nguyên duy nhất — kích thước lớn nhất có thể của thành phần liên thông sau khi thực hiện thao tác.
Ràng buộc
- .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 2 ..XXX XX.XX X.XXX X...X XXXX. |
10 | Chọn hình vuông ở góc trên trái (hàng 1–2, cột 1–2) sẽ tạo ra một thành phần liên thông kích thước . |
| 5 3 ..... .XXX. .XXX. .XXX. ..... |
25 | Chọn hình vuông phủ toàn bộ khối X ở giữa biến cả lưới thành ô trống — toàn bộ ô tạo thành một thành phần. |
Bình luận