/*Name: 14_扫雷游戏地雷数计算Copyright: Author: Date: 29-08-17 10:06Description: 14_扫雷游戏地雷数计算
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷。
现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。
注:每个格子周围格有八个:上、下、左、右、左上、右上、左下、右下。
输入
第一行包含两个整数n和m,分别表示雷区的行数和列数。1 <= n <= 100, 1 <= m <= 100。
接下来n行,每行m个字符,‘*’表示相应格子中是地雷,‘?’表示相应格子中无地雷。字符之间无任何分隔符。
输出
n行,每行m个字符,描述整个雷区。若相应格中是地雷,则用‘*’表示,否则用相应的周围格地雷数表示。字符之间无任何分隔符。
样例输入
3 3
*??
???
?*?
样例输出
*10
221
1*1
*/
#include <iostream>using namespace std;const int M = 100;
const int N = 100;
char A[N][M];
int X[8] = {-1,-1,-1,0,1,1,1,0};//行坐标变化,从西北角开始
int Y[8] = {-1,0,1,1,1,0,-1,-1};//列坐标变化,从西北角开始int main()
{int n, m, s, r, c;cin >> n >> m;for (int i=0; i<n; i++){for (int j=0; j<m; j++){cin >> A[i][j];}}for (int i=0; i<n; i++){for (int j=0; j<m; j++){if (A[i][j] == '*')cout << '*';else{s = 0;for (int k=0; k<8; k++)//累计周围地雷数量 {r = i+X[k];c = j+Y[k];s += (r>=0 && r<n && c>=0 && c<m && A[r][c]=='*');}cout << s;}}cout << endl;} return 0;
} 

14_扫雷游戏地雷数计算相关推荐

  1. 信息学奥赛一本通 1970:【15NOIP普及组】扫雷游戏 | OpenJudge NOI 1.8 14:扫雷游戏地雷数计算 | 洛谷 P2670 [NOIP2015 普及组] 扫雷游戏

    [题目链接] ybt 1970:[15NOIP普及组]扫雷游戏 OpenJudge NOI 1.8 14:扫雷游戏地雷数计算 洛谷 P2670 [NOIP2015 普及组] 扫雷游戏 [题目考点] 1 ...

  2. 7、扫雷游戏地雷数计算

    扫雷游戏是一款十分经典的单机小游戏.它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷. 现在给出 n行 m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数. 注 ...

  3. 【HPU] 扫雷游戏地雷数计算 c语言

    扫雷 题目描述 扫雷游戏是一款十分经典的单机小游戏.它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷. 现在给出 n 行 m 列的雷区中的地雷分布,要求计算出每个非地雷格 ...

  4. 扫雷游戏地雷数计算(模拟)

    题目描述: 扫雷游戏是一款十分经典的单机小游戏.它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷. 现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷 ...

  5. 1610:扫雷游戏地雷数计算

    描述 扫雷游戏是一款十分经典的单机小游戏.它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷. 现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数. ...

  6. WZOI-388扫雷游戏地雷数计算

    题目描述: 扫雷游戏是一款十分经典的单机小游戏.它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷. 现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷 ...

  7. 使用CE分析扫雷游戏,找到雷数的内存地址,找到低中高级的棋盘范围,找出地雷和别的数字在内存中的表示形式,猜测布雷算法

    1.找到雷数的内存地址 1.1 按照雷数精确扫描,低中高分别为10,40,99,扫描结果有三个 1.2 右键棋盘任意位置,有一个地址数值变少,则那个地址就是雷数内存地址 2.找到低中高级的棋盘范围 2 ...

  8. Win11系统如何打开地雷游戏 Win11打开扫雷游戏的教程

    Win11系统如何打开地雷游戏?扫地雷游戏是一款很经典的游戏,很多人在休闲的时候都会在电脑中玩耍,不过有很多小伙伴刚升级到Win11系统,却不知道要如何打开地雷游戏,其实也不难找到,接下来可以跟着小编 ...

  9. 自定义地雷数的扫雷(控制台运行)

    package test1; //导包 import java.util.Scanner; import java.util.Random;public class tst1{public stati ...

最新文章

  1. 时间同步软件 windows_电脑便签设置事件时间提醒软件哪个好用
  2. Python之Matplotlib画图方法
  3. ubuntu16.04下安装NS-2.35以及对simple例的理解
  4. 编写一个C程序,实现以下功能:定义一个学生结构体Student(含学号、姓名、年龄、身高)和一个函数sort(struct Student *p),该函数使用选择排序法按年龄由小到大排序。在主函数中
  5. asp 使用TreeView控件
  6. Flask安装首页显示
  7. exchange2003客户端无法收发邮件的一次处理过程
  8. 数据意识崛起,从企业应用看BI软件的未来发展 1
  9. Python 学习笔记——文件对象和操作
  10. Fedora17下Firefox安装flashplayer
  11. 编译DXperience 7.1源码和升级原有的应用程序
  12. 豆瓣电影爬虫Ⅱ 豆瓣电影数据的整理
  13. 转速、电流双闭环控制的直流调速系统
  14. redis,ruby安装
  15. 使用git提交到仓库使用commit指令出现问题Your branch and 'origin/master' have diverged,
  16. 魔兽世界lua笔记(4、集合石插件修改,实现集合石亮灯hack)
  17. [股票] 现阶段思考感悟
  18. java 字符串不等于_java中字符串不等于怎么判断
  19. 维特比算法C++实现
  20. 【代码笔记】持续更新:知识图谱——gensim.corpora

热门文章

  1. 建立student类,在此类中所有数据定义为私有数据变量。并建立一个student对象数组,用附件中的数据进行初始化。计算每个学生三门课程的总分和平均成绩(C++实验)
  2. 向毕业妥协系列之深度学习笔记(三)DL的实用层面(上)
  3. 小程序,公众号微信客服消息开发
  4. 液晶显示器原理和应用
  5. 如何使用SecureCRT连接华为eNSP模拟器
  6. android 仿苹果 小组件,安卓仿ios14桌面小部件
  7. 1411-喜闻乐见的a+b ZCMU
  8. linux改文件权限为root,Linux创建root不可修改删除而只可追加权限的文件
  9. C 语言计算双色球的中奖率
  10. 线下增加设备接口开发(SDK)