ĐẶT BOM

Cho một bảng vuông ~n×n~ , mỗi ô trên bảng có thể trống ('.') hoặc chứa chướng ngại vật ('X'). Hai ô gọi là kết nối trực tiếp với nhau nếu chung cạnh. Hai ô trống ~(r_1, c_1)~ và ~(r_2, c_2)~ gọi là liên thông với nhau nếu tồn tại một chuỗi các ô trống bắt đầu ~(r_1, c_1)~, kết thúc ~(r_2, c_2)~, và hai ô trống liên tiếp bất kì trong dãy có kết nối trực tiếp đến nhau.

Dbom có thể phá hủy được tất cả các chướng ngai vật trong phạm vi hình vuông có kích thước ~k × k~ bằng cách đặt bom, nhưng Dbom chỉ thực hiện việc phá hủy đó đúng một lần

Yêu cầu: hãy chọn hình vuông ~k×k~ trên lưới để sau khi Dbom phá hủy sẽ thu được một vùng có nhiều ô trống liên thông nhất có thể. Tính số lượng ô trống của vùng liên thông này.

Dữ liệu vào:

  • Dòng đầu chứa 2 số ~n~ và ~k~ ~(1 ≤ k ≤ n ≤ 100)~ lần lượt cho biết kích thước bảng và kích thước phạm vi Dbom có thể phá hủy trong một lần
  • Mỗi dòng trong ~n~ dòng sau chứa một xâu kí tự có độ dài ~n~. mô tả lại trạng thái của bảng ban đầu với ô trống sẽ được kí hiệu là '.' nếu có chướng ngại vật được kì hiệu là 'X'.

Kết quả:

  • In ra số lượng lớn nhất của vùng các ô trống liên thông với nhau sau khi được Dbom phá hủy các trường ngại vật trong phạm vi ~k× k~.

Ví dụ:

Input:

5 2
..XXX
XX.XX
X.XXX
X...X
XXXX. 

Output:

10 

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. cao_thanh_dat (6/11)
  2. dat092010 (3/5)
  3. nsduc83 (2/11)
Trong 7 ngày
  1. caubeioi (39/63)
  2. nhatanh (33/47)
  3. dat092010 (23/34)
Trong 30 ngày
  1. caubeioi (179/312)
  2. phamnhi (153/428)
  3. bestsoilvam (151/248)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38228

Lưu Hải Phong - 2020
[email protected]