#L0629. 方格计数

方格计数

题目描述

在一个 nnmm 列的方格区域中,部分格子藏有炸弹(用 *\texttt{*} 表示),其余格子是安全的(用 ?\texttt{?} 表示)。对于每个安全格子,需要计算其周围 88 个方向(上、下、左、右、左上、右上、左下、右下)上直接相邻的格子中有多少个含有炸弹。

请根据给出的方格区域,输出每个格子的结果:炸弹格仍标记为 *\texttt{*},安全格替换为对应的炸弹计数。

输入格式

第一行两个由空格隔开的整数 nnmm,分别表示方格区域的行数和列数。

接下来 nn 行,每行 mm 个字符,描述方格区域。*\texttt{*} 表示炸弹格,?\texttt{?} 表示安全格。相邻字符之间无分隔符。

输出格式

输出 nn 行,每行 mm 个字符。*\texttt{*} 表示炸弹格,数字(080 \sim 8)表示安全格周围炸弹的数量。相邻字符之间无分隔符。

样例

3 3
*??
???
?*?
*10

221 1*1

</p>
2 3
?*?
*??
2*1

*21

</p>

提示

对于 100%100\% 的数据,1n1001 \le n \le 1001m1001 \le m \le 100

难度 入门
通过率
尝试 0
已通过 0
ID
1357
类型
传统题
Time Limit
1000ms
Memory Limit
125MiB
上传者