字符数组-扫雷题延伸

 

扫雷游戏场地是一副n行,m列的字符组成的地图;

? * *
? ? *
? ? ?

这其中*表示地雷,?表示安全区域

现在要求计算每个安全区域周围的地雷数量;

周围的定义为:安全区域位置的“上”、“下”、“左”、“右”、“左上”、“右上”、“左下”、“右下”八个区域

如上个地图所示的安全区域 “?”内填入周围的地雷数量:

1 * *
1 3 *
0 1 1

一个安全区域,周围如果出现三个以上的地雷,就自动变成高危区域,以‘#’表示

1 * *
1 # *
0 1 1

高危区域的周围将全部变成禁地,以@表示,则最后整张地图将变为

@ @ @
@ # @
@ @ @

 

输入样例:

3 3
? * *
? ? *
? ? ?

输出样例

 

@ @ @
@ # @
@ @ @

 


问题分解

定义一个二维字符数组来存储雷区,再定义一个二维整数数组来存储每个位置周围地雷的个数。

输入雷区时,可以用gets逐行读入,也可以用getchar逐个读入字符。

输出字符数组时,可以用putchar逐个字符输出;

 

转载于:https://www.cnblogs.com/lightworkshopnoi/p/11281195.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值