AT_abc075_b [ABC075B] Minesweeper
题目描述
给定一个 $H \times W$ 的网格。
在输入中,所有的格子都用字符表示,`.` 表示空格,`#` 表示炸弹格。
网格由 $H$ 个字符串 $S_1,\ldots,S_H$ 表示。
字符串 $S_i$ 的第 $j$ 个字符对应网格中从上到下第 $i$ 行、从左到右第 $j$ 列的格子。$(1 \leq i \leq H, 1 \leq j \leq W)$
“イルカ”对每个空格的上下左右以及斜对角共 $8$ 个方向上相邻的格子中有多少个炸弹格感到好奇。
因此,他决定将每个空格对应的 `.` 替换为该空格周围 $8$ 个方向上相邻格子中炸弹格的个数。
请输出按照上述规则替换后的网格。
输入格式
输入以如下格式从标准输入给出。
> $H$ $W$
> $S_1$
> $\vdots$
> $S_H$
输出格式
请输出替换后的网格,共 $H$ 行字符串。
第 $i$ 行输出的字符串 $T_i$ 长度为 $W$,$T_i$ 的第 $j$ 个字符对应替换后网格中从上到下第 $i$ 行、从左到右第 $j$ 列的格子。$(1 \leq i \leq H, 1 \leq j \leq W)$
说明/提示
### 限制条件
- $1 \leq H, W \leq 50$
- $S_i$ 是仅由 `#` 和 `.` 组成的长度为 $W$ 的字符串
### 样例解释 1
以从上到下第 $1$ 行、从左到右第 $1$ 列的空格为例。该空格周围 $8$ 个格子中只有从上到下第 $2$ 行、从左到右第 $2$ 列的格子是炸弹格。因此,从上到下第 $1$ 行、从左到右第 $1$ 列的空格被替换成了 `1`。
### 样例解释 2
有可能不存在空格。
由 ChatGPT 4.1 翻译