THHV 2025 - DX07 - 10 - Bức tường

Xem dạng PDF

Gửi bài giải

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

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Tranh thủ ngày chủ nhật An được nghỉ học, An tìm cách treo bức tranh của mình lên một bức tường hình chữ nhật được biểu diễn bằng mảng có ~n~ hàng và ~m~ cột. Một số ô đã có đinh cắm sẵn, được đánh dấu bằng ký tự "#". Các ô còn lại là ô trống, ký hiệu ".".

Bức tranh có dạng hình chữ nhật với kích thước tùy ý, và có thể treo tại bất kỳ vị trí nào trên tường miễn là nó che nhiều nhất ~1~ chiếc đinh.

Yêu cầu: Tính số cách đặt tranh khác nhau trên tường sao cho mỗi cách không che quá ~1~ đinh.

Input

  • Dòng 1: Hai số nguyên ~n~ và ~m~ ~(1 \le n, m \le 500)~ - kích thước bức tường.

  • ~n~ dòng tiếp theo: mỗi dòng chứa ~m~ ký tự ("#" hoặc ".") mô tả trạng thái từng ô trên tường.

Output

Gồm một số nguyên duy nhất là tổng số cách đặt bức ảnh hợp lệ.

Scoring

Subtask Điểm Ràng buộc
1 ~34\%~ ~n, m \le 10~
2 ~34\%~ ~n, m \le 100~
3 ~32\%~ Không có ràng buộc thêm

Sample Input 1

3 3
...
...
..#

Sample Output 1

36

Sample Input 2

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

Sample Output 2

76

Notes

Giải thích rõ ví dụ đầu tiên: Mỗi vị trí treo ảnh đều có giá trị miễn là nó che phủ nhiều nhất một chiếc đinh.

Giải thích rõ hơn ví dụ thứ hai: Bức tranh không thể được đặt theo cách mà nó bao phủ các vị trí ~(3, 1)~ và ~(4, 1)~ cùng một lúc.


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.