当前位置:首页 > 模拟 > 正文
SSOJ1409扫雷游戏(NOIP2015)
3303+

题目大意:已知n行m列的扫雷游戏中所有地雷的位置,请统计没有地雷的格子周围分别有多少个地雷。

题目描述

扫雷游戏是一款十分经典的单机小游戏。 在n行m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。 玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。 游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。 现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。 注:一个格子的周围格子包括其上、下、左、右、左上、左下、右上、右下八个方向上与之直接相邻的格子。

输入

第一行用一个空格隔开的两个整数n和m,分别表示雷区的行数和列数。 接下来n行,每行m个字符,描述了雷区中的地雷分布情况。字符∗’表示相应的格子是地雷格,字符(?)`表示相应的格子是非地雷格子。相邻字符之间无分隔符。

输出

输出文件包括n行,每行m个字符,描述了整个雷区。用∗表示地雷格,用周围地雷格数表示非地雷格。相邻字符之间无分隔符。

样例输入

样例输入1
3 3
*??
???
?*?
样例输入2
2 3
?*?
*??

样例输出

样例输出1
*10
221
1*1
样例输出2
2*1
*21

提示

对于所有的数据,1≤n≤100, 1≤m≤100。

NOIP2015普及组第二题

解题思路

首先,读入地图,建议用字符串读入;逐个字符读入的话,标准输入的话还需要考虑行末换行符。

接着,逐个格子输出结果,如果是地雷,直接输出地雷;否则,遍历周围8个格子,如果是地雷,地雷数加1,输出地雷数。输出完一行就换行。

(当然,开个int数组,读到地雷,周围格子加1个地雷,最后输出int数组和地雷也是可以的。)

程序实现

About

坚决不Copy代码!

本文标签:,,,,,,,,

SSOJ1409扫雷游戏(NOIP2015):等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!