DHBB 2026 - DX14 - 11 - Đếm kim cương

Xem dạng PDF

Gửi bài giải

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

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

Cho một bảng kích thước ~n \times m~ gồm ~n~ hàng và ~m~ cột, trong đó mỗi ô là kí tự '.' hoặc '#'. Gọi "kim cương" là hình thu được khi xoay một hình vuông ~45^\circ~ sao cho:

  • Bốn cạnh của nó chỉ chứa kí tự '#'.

  • Phần bên trong hình (không tính đường biên) chỉ chứa kí tự '.'.

  • Phần bên trong hình phải không rỗng, tức là phải có ít nhất một kí tự '.'.

  • Các ô bên ngoài kim cương không bị ràng buộc (có thể là '.' hoặc '#').

Yêu cầu: Hãy đếm số lượng kim cương xuất hiện trên bảng.

Input

  • Dòng đầu tiên chứa số nguyên dương ~n~ và ~m~ ~(1 \le n, m \le 2000)~, số hàng và số cột.

  • Trong ~n~ dòng tiếp theo, mỗi dòng chứa ~m~ ký tự '.' hoặc '#' mô tả bảng.

Output

  • Một dòng duy nhất in số lượng kim cương trong bảng.

Scoring

Subtask Điểm Ràng buộc
1 ~55\%~ ~1 \le n, m \le 100~
2 ~45\%~ Không có ràng buộc gì thêm

Sample Input 1

11 17
.....#........#..
....#.#........#.
...#...#....#...#
..#.....#....#.#.
.#....#..#....#..
#....#.#..#......
.#....#..#.......
..#.....#........
...#...#.........
....#.#..........
.....#...........

Sample Output 1

1

Notes

Chỉ có một viên kim cương trong bảng (kim cương có kích thước nhỏ nhất có thể). Hình bên phải bảng cũng không phải là hình kim cương vì thiếu kí tự '#' trên cạnh của nó.


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.