Cho một bảng hình chữ nhật gồm \(n\) dòng và \(m\) cột, tạo thành \(n \times m\) ô vuông đơn vị. Mỗi ô chứa một ký tự "." hoặc ký tự "#".
Một hình kim cương là ảnh của một hình vuông quay một góc 45°. Một phần các ký tự trong bảng tạo thành hình kim cương nếu:
- Các ký tự tạo thành các cạnh song song với các đường chéo của hình chữ nhật ban đầu.
- Các cạnh chỉ gồm ký tự "#", bên trong hình kim cương chỉ chứa ký tự ".".
- Các cạnh phải có số lượng ký tự bằng nhau.
Yêu cầu:
- Hãy đếm số lượng hình kim cương có trong bảng.
Dữ liệu vào:
- Dòng đầu tiên là hai số nguyên dương \(n\) và \(m\) (\(1 \le n, m \le 2000\)): số dòng và số cột của bảng.
- \(n\) dòng tiếp theo, mỗi dòng chứa \(m\) ký tự liên tiếp là "." hoặc "#".
Dữ liệu ra:
- In ra một số nguyên duy nhất là số lượng hình kim cương có trong bảng.
Input 1
7 25
.#...#....#....#.....#...
#.#..#...#.#...#....#.#..
.#.#.#..#...#..#...#...#.
..#..#...#.#...#..#.....#
.....#....#....#...#...#.
.....#.........#....#.#..
.....#.........#.....#...
Output 1
4
Ràng buộc:
- Có 30% số test ứng với \(1 \le n, m \le 100\).
- Có 70% số test còn lại không có ràng buộc gì thêm.
Nhận xét