Bessie là một sinh viên ngành Khoa học máy tính rất bận bịu. Tuy nhiên, sinh viên cũng cần phải có bạn. Vì vậy, bác nông dân John đã mở một bãi cỏ với mục đích giúp Bessie và những chú bò khác kết bạn với nhau.
Bãi cỏ của bác John có thể được coi là một bảng 2D gồm các ô vuông (như một bàn cờ vua lớn). Mỗi ô được đánh dấu như sau:
nếu ô đó chứa một chú bò. nếu ô đó chứa cỏ. nếu ô đó không chứa gì cả.
Để hai chú bò khác nhau có thể trở thành bạn, chúng phải chọn gặp mặt tại một ô chứa cỏ mà nằm cạnh cả hai ô của chúng theo chiều dọc hoặc chiều ngang. Trong quá trình kết bạn, hai chú bò sẽ ăn hết cỏ trên ô này nên trong tương lai không cặp bò nào có thể gặp mặt và kết bạn tại ô đó nữa. Một chú bò có thể kết bạn với nhiều chú bò khác, nhưng không cặp bò nào có thể gặp mặt và trở thành bạn nhiều hơn một lần.
Bác John mong rằng sẽ có nhiều cặp bò gặp mặt và kết bạn với nhau. Hãy đếm số lần kết bạn tối đa có thể xảy ra giữa các cặp bò phân biệt.
Input
Dòng đầu tiên chứa hai số nguyên
Output
In ra số lượng cặp bò phân biệt tối đa có thể trở thành bạn bè.
Sample Input
4 5
.CGGC
.CGCG
CGCG.
.CC.C
Sample Output
4
Giải thích, nếu ta đánh dấu chú bò ở hàng
- Chú bò ở ô
và chú bò ở ô gặp mặt tại ô . - Chú bò ở ô
và chú bò ở ô gặp mặt tại ô . - Chú bò ở ô
và chú bò ở ô gặp mặt tại ô . - Chú bò ở ô
và chú bò ở ô gặp mặt tại ô .
Ràng buộc
- Test 1 là test mẫu
- Các test 2-4 thỏa mãn
. - Các test 5-12 không có thêm ràng buộc gì.
Bình luận