AT_bitflyer2018_qual_d ハンコ
题目描述
有一张 $H$ 行 $W$ 列的网格纸,每个格子用坐标 $(i, j)$ 表示,其中 $1 \leq i \leq H$ 且 $1 \leq j \leq W$。
同时,有一个大小为 $N$ 行 $M$ 列的印章,其图案用 $N$ 个长度为 $M$ 的字符串 $A_1, A_2, \ldots, A_N$ 来描述。如果将印章的左上角对准坐标为 $(s, t)$ 的格子($1 \leq s \leq H - N + 1$ 且 $1 \leq t \leq W - M + 1$),对印章覆盖的所有格子执行如下操作:
- 如果 $A_i$ 的第 $j$ 个字符是 `#`,则印章覆盖的相应格子 $(s + i - 1, t + j - 1)$ 会变为黑色。
- 如果 $A_i$ 的第 $j$ 个字符是 `.`,格子 $(s + i - 1, t + j - 1)$ 的颜色保持不变。
初始时,所有格子都是白色的。我们需要对每一对符合条件的 $(s, t)$ 都进行盖印操作。
请计算最终变黑的格子的总数量。
输入格式
输入通过标准输入以如下格式给出:
> $H$ $W$ $N$ $M$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
输出一个整数,表示变黑的格子数。
说明/提示
- $1 \leq H, W \leq 10^9$
- $1 \leq N, M \leq 1000$
- $N \leq H$
- $M \leq W$
- 每个 $A_i$ 的长度都为 $M$ 且由 `#` 和 `.` 组成
### 示例说明
#### 示例 1
印章将分别对准 $(1, 1)$、$(1, 2)$、$(2, 1)$ 和 $(2, 2)$ 进行盖印。经过这些操作后,最终有 9 个格子变成了黑色。

#### 示例 2
印章的图案使得除中央外的所有格子都会变黑。
**本翻译由 AI 自动生成**