题目描述
有一个 H 行 W 列的网格。从上往下第 i 行、从左往右第 j 列的单元格记为 (i,j)。
网格的每个单元格都被染成白色或黑色。网格的信息由 H 个长度为 W 的字符串 S1,S2,…,SH 给出:如果 Si 的第 j 个字符是 .,则单元格 (i,j) 是白色的;如果是 #,则是黑色的。
求网格中有多少个子矩形区域是中心对称的。
更正式地说,求有多少组整数元组 (h1,h2,w1,w2) 满足以下所有条件:
- 1≤h1≤h2≤H
- 1≤w1≤w2≤W
- 对于满足 h1≤i≤h2 和 w1≤j≤w2 的所有整数 i,j,单元格 (i,j) 和单元格 (h1+h2−i,w1+w2−j) 具有相同的颜色。
输入格式
第一行输入两个整数 H、W。
接下来 H 行,每行输入一个长度为 W 的字符串 Si,由 . 和 # 组成。
输出格式
输出一个整数,即答案。
3 2
.#
#.
##
10

4 5
.#.#.
####.
##..#
....#
54
数据范围与提示
对于 100% 的数据,1≤H,W≤10。