NOJ上机系统 准备中……

扫雷分析器

1000ms 262144K

描述:

《扫雷》是一款单人或者多人的电脑游戏。游戏目标是找出所有没有地雷的方格,完成游戏;要是按了有地雷的方格,游戏失败。

小明是一个狂热的扫雷爱好者,可是自从换到了新电脑后,他发现新电脑没有装扫雷游戏。于是他决定自己写一个扫雷游戏🤣。

小明发现,扫雷的游戏规则是这样的:

游戏开始于一个 $$$n$$$ 行 $$$m$$$ 列的雷区,雷区中,一些格子含有隐藏的地雷(称之为地雷格),而其他格子不含地雷(称之为非地雷格)。当玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围八个格子中有多少个是地雷格。玩家可以利用这些数字来推断哪些格子是地雷格,哪些格子是非地雷格。

现在,小明已经编写好了生成地雷格的程序,他想请你帮忙编写一个程序,来生成雷区中的非地雷数字格子,以此提示周围格子中有多少个地雷格。

输入:

第一行一三个整数 $$$n$$$, $$$m$$$ 和 $$$k$$$,表示扫雷棋盘的行数和列数和地雷总数,题目保证,$$$1 \leq n, m \leq 100$$$,$$$1 \leq k \leq n \times m$$$。

接下来 $$$k$$$ 行,每行两个整数 $$$c_i$$$ 和 $$$r_i$$$,表示第 $$$i$$$ 个地雷格位于第 $$$c_i$$$ 列,第 $$$r_i$$$ 行。题目保证,$$$(1 \leq c_i \leq m, 1 \leq r_i \leq n)$$$ 且地雷格坐标不重复。

输出:

输出包含$$$n$$$行,$$$m$$$列,表示雷区中的非地雷数字格子。如果一个格子是地雷格,则输出一个星号*;否则输出一个数字,表示周围格子中有多少个地雷格。

请参阅下方样例输出。注意本题的输出格式,在输出结果中切勿包含不必要的内容(如空格)。

样例输入:

3 3 2
1 1
2 3

样例输出:

*10
221
1*1

样例输入:

2 3 2
2 1
1 2

样例输出:

2*1
*21

样例输入:

4 3 1
1 3

样例输出:

000
110
*10
110

注释:

对于 $$$20\%$$$ 的数据,$$$k = 1$$$。

对于 $$$40\%$$$ 的数据,$$$n = 1$$$ 或 $$$m = 1$$$。

对于 $$$60\%$$$ 的数据,$$$n, m \leq 10$$$。

对于 $$$80\%$$$ 的数据,$$$n, m \leq 50$$$。

对于 $$$100\%$$$ 的数据,$$$1 \leq n, m \leq 100$$$,$$$1 \leq k \leq n \times m$$$。

信息

机考平台

提供者 机考平台

代码 PROB1037

标签

提交 1156

通过 490

通过率 42.39%

修改日期 2025-03-21 16:57:23

相关题目

暂无相关