AT_guildfes_2026_final_g EGFグリッド

题目描述

给定一个 $H$ 行 $W$ 列的网格。网格中第 $i$ 行从上往下,第 $j$ 列从左往右的格子记作 $(i, j)$。每个格子上写有 ‘E’、‘F’、‘G’ 之一的字符,格子 $(i, j)$ 上的字符等于给定字符串 $S_i$ 的第 $j$ 个字符。 请计算满足以下所有条件的 $3$ 个格子的组 $(r_1, c_1), (r_2, c_2), (r_3, c_3)$ 的数量。 - $1 \le r_1 < r_2 < r_3 \le H$ - $1 \le c_1 < c_3 < c_2 \le W$ - 格子 $(r_1, c_1)$ 上的字符为 ‘E’ - 格子 $(r_2, c_2)$ 上的字符为 ‘F’ - 格子 $(r_3, c_3)$ 上的字符为 ‘G’

输入格式

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

输出格式

输出满足所有条件的 $3$ 个格子的组的数量。可以证明,在本题约束下,答案不会超出 $64$ 位有符号整数的范围。

说明/提示

### 样例解释 1 仅有 $(r_1, c_1) = (1,1), (r_2, c_2) = (2,3), (r_3, c_3) = (3,2)$ 满足所有条件。 ### 样例解释 2 不存在满足所有条件的 $3$ 个格子的组。 ### 约束条件 - $3 \le H, W \le 2000$ - $H, W$ 为整数 - $S_i$ 是仅由 ‘E’、‘F’、‘G’ 组成、长度为 $W$ 的字符串。 由 ChatGPT 5 翻译