AT_abc455_b [ABC455B] Spiral Galaxy

题目描述

有一个 $H$ 行 $W$ 列的网格。该网格中,自上而下第 $i$ 行、从左至右第 $j$ 列的格子记作 $(i, j)$。 每个格子被染成白色或黑色。网格的信息由 $H$ 个长度为 $W$ 的字符串 $S_1, S_2, \ldots, S_H$ 给出:如果 $S_i$ 的第 $j$ 个字符为 `.`,则格子 $(i, j)$ 为白色;如果为 `#`,则为黑色。 请你计算网格中有多少个矩形区域是点对称上色的。 更正式地说,求满足以下条件的整数四元组 $(h_1, h_2, w_1, w_2)$ 的个数: - $1 \leq h_1 \leq h_2 \leq H$ - $1 \leq w_1 \leq w_2 \leq W$ - 对于所有满足 $h_1 \leq i \leq h_2$ 且 $w_1 \leq j \leq w_2$ 的整数 $i, j$,格子 $(i, j)$ 和格子 $(h_1 + h_2 - i, w_1 + w_2 - j)$ 颜色相同。

输入格式

输入按以下格式通过标准输入给出: > $H$ $W$ $S_1$ $S_2$ $\vdots$ $S_H$

输出格式

输出符合条件的矩形区域个数。

说明/提示

### 样例解释 1 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc455_b/7a2aac1815248fc3a6be01e416b9c00528a529676e096f88e10a57f9064c9980.png) 如上图所示,答案为 $10$。 ### 约束条件 - $1 \leq H, W \leq 10$ - $H$ 和 $W$ 都为整数。 - $S_i$ 是由 `.` 和 `#` 组成的长度为 $W$ 的字符串。 由 ChatGPT 5 翻译