Bức tường

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài

Cho một bảng gồm ~n~ hàng và ~m~ cột biểu diễn bức tường. Mỗi ô của bảng là một trong hai loại:

  • Ô có đinh, ký hiệu là ~\#~.
  • Ô trống, ký hiệu là ~.~.

Một bức tranh luôn có dạng hình chữ nhật, kích thước tùy ý, các cạnh song song với cạnh của bảng. Bức tranh có thể được treo tại bất kỳ vị trí nào miễn là nó phủ đúng một hình chữ nhật con của bảng.

Một cách treo tranh được xem là hợp lệ nếu hình chữ nhật được chọn che phủ không quá ~1~ ô có đinh.

Yêu cầu

Đếm số hình chữ nhật con của bảng chứa nhiều nhất ~1~ ô có ký hiệu ~\#~.

Dữ liệu

Dữ liệu vào từ ~stdin~ gồm:

  • Dòng đầu chứa hai số nguyên ~n~ và ~m~.
  • ~n~ dòng tiếp theo, mỗi dòng chứa một xâu độ dài ~m~ chỉ gồm các ký tự ~\#~ và ~.~, mô tả bức tường.

Kết quả

Ghi ra ~stdout~ một số nguyên duy nhất là số cách treo tranh hợp lệ.

Ví dụ

Ví dụ 1

Input

3 3
...
...
..#

Output

36
Ví dụ 2

Input

4 4
....
.#..
#...
#.#.

Output

76

Giải thích

Ví dụ 1

Bảng chỉ có đúng ~1~ ô có đinh, nên mọi hình chữ nhật con đều hợp lệ.

Ví dụ 2

Chẳng hạn, không được chọn một hình chữ nhật đồng thời che phủ cả hai vị trí ~(3,1)~ và ~(4,1)~, vì khi đó hình chữ nhật chứa ít nhất ~2~ ô có đinh.

Ràng buộc và chấm điểm

Ràng buộc
  • ~1 \le n, m \le 500~
Chấm điểm
  • Subtask ~1~ ~(34\%):~ ~n, m \le 10~
  • Subtask ~2~ ~(34\%):~ ~n, m \le 100~
  • Subtask ~3~ ~(32\%):~ Không có ràng buộc thêm

Bình luận

Hãy đọc nội quy trước khi bình luận.


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