【题目描述】

扫雷游戏完成后会显示一幅图,图中标示了每个格子的地雷情况。现在,一个 n * n 方阵中有 k 个地雷,请你输出它的扫雷完成图。

【输入数据】

输入共 k+1 行:

第 1 行为 2 个整数 n、k,用一个空格隔开,表示扫雷图方阵的规模和地雷的总数。接下来 k 行,每行 2 个整数,表示一个地雷的行、列坐标。

【输出数据】

输出共 n 行,每行连续 n 个字符,每个字符对应扫雷完成图的一个格子。字符内容定义如下:(1)若该位置对应的格子是地雷,则输出“*”(英文星号);(2)若该位置对应的格子不是地雷,其相邻格(指环绕它的左上、上、右上、右、右下、下、左下、左,共 8 个格子)有地雷,则输出相邻格地雷总数;(3)若该位置对应的格子不是地雷,其相邻格也没有地雷,则输出空格。

【样例输入】

9 5

2 7

3 7

8 9

9 9

3 5

【样例输出】



【解题思路】

模拟,周围八格判断,送分题

【参考程序】

#include<iostream>
#include<cstdio>
using namespace std;
const int dx[8]={0,-1,0,1,1,-1,-1,1};
const int dy[8]={-1,0,1,0,-1,-1,1,1};
int n,k,x,y,a[40][40];
int main()
{
//freopen("minemap.in","r",stdin);
//freopen("minemap.out","w",stdout);
scanf("%d%d",&n,&k);
for (int i=1;i<=k;i++)
{
scanf("%d%d",&x,&y);
a[x][y]=-1;
}
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
if (a[i][j]!=-1)
{
for (int k=0;k<8;k++)
if (a[i+dx[k]][j+dy[k]]==-1) a[i][j]++;
}
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
if (a[i][j]==-1) cout<<'*';
else if (a[i][j]==0) cout<<' ';
else cout<<a[i][j];
}
cout<<endl;
}
return 0;
}

【NHOI2018】扫雷完成图的更多相关文章

  1. 1088: [SCOI2005]扫雷Mine

    1088: [SCOI2005]扫雷Mine Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1635  Solved: 979[Submit][Sta ...

  2. C语言实现扫雷游戏(完整版)

    头文件定义.函数声明 下面就是扫雷中使用到的所有函数,为了省事我把所有的代码都放在一个C文件中实现 宏定义中设置了游戏的界面布局,以及设置地雷的个数(这里默认的是10个地雷),界面是一个9*9的方格布 ...

  3. 一模 (1) day2

    第一题:(水题) 题目大意:就是给出扫雷的图,然后统计每个九宫格的雷的个数. 解题过程: 1.好久没做这样的水题了.直接模拟水过.. 第二题: 题目大意:给出一个长度小于1000的数k,要求一个尽可能 ...

  4. Delphi高仿Windows扫雷游戏(全部都是贴图绘制)

    http://www.newxing.com/Code/Delphi/game/543.html http://www.newxing.com/Code/Delphi/Network/1324.htm ...

  5. Java GUI编程-(项目代码_扫雷_弹钢琴)

    --扫雷 package com;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionLis ...

  6. JY游戏之毁经典《扫雷》

    JY游戏之毁经典<扫雷> 这是一个经典的pc端游戏,一定的运气加一点数学常识,讲的是一个速度,这次,我利用js JY库重做了这款游戏,加了三次生命,过关难度,也兼容了移动端的触摸事件. 它 ...

  7. Inspiron 14 7000 系列 (7447) 游匣14 拆机图

    Inspiron 14 7000 系列 (7447)   游匣14 拆机图   游匣配置不多说,i5起步,标配4G GTX850M显卡,这么霸道的配置给我玩扫雷肯定不卡.配置高功耗就大,不过游匣的散热 ...

  8. web版扫雷小游戏(一)

    作为一名程序猿,平时的爱好也不多,说起游戏,我不太喜欢大型的网游,因为太耗时间,偶尔玩玩经典的单机小游戏,比如windows下自带的游戏扫雷(秀一下,高级下最高纪录110s). 现阶段正在致力于web ...

  9. 《windows程序设计》学习_4.1:计时器(可用于扫雷)

    为了做一个逼真的扫雷,我的扫雷程序的位图都是从windowsXP下面的扫雷里来的.具体是怎么获取位图的呢?win8.1不给力,习惯了vc++6.0,所以虚拟机里装上了xp,用vc++6.0加载扫雷程序 ...

随机推荐

  1. vue与element ui的el-checkbox的坑

    一,场景 通过使用checkbox,实现如图的场景, 点击某个tag,实现选中和非选中状态. 二, 官网的例子 通过切换checked值为true或者false来实现,一个checkbox的状态切换 ...

  2. python图像处理之PIL库

    PIL库是python语言第三方库,需要通过pip工具安装,安装库的名字是pillow. PIL库支持图像存储,显示和处理,它能够处理几乎所有图片格式,可以完成对图像的缩放,裁剪,叠加以及向图像添加线 ...

  3. C语言存储类别和链接

    目录 C语言存储类别和链接 存储类别 存储期 五种存储类别 C语言存储类别和链接 ​ 最近详细的复习C语言,看到存储类别的时候总感觉一些概念模糊不清,现在认真的梳理一下.C语言的优势之一能够让程序员恰 ...

  4. 论RSA算法的重要性 -RSA 简介

    地球上最重要的算法 (这个说法似乎有点夸张了,但是当你了解了RSA算法后,就觉得不夸张了.) 如果没有 RSA 算法,现在的网络世界毫无安全可言,也不可能有现在的网上交易.上一篇文章 ssh 协议为什 ...

  5. Nexus 上传项目到私服

    1. maven setting配置 <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed ...

  6. MIT线性代数:3.矩阵相乘

  7. Angular 项目中如何使用 ECharts

    在有些使用 ECharts 库的 Angular 项目中,通常除了安装 npm 包之外,还会在 angular.json 中配置 “build.options.scripts”,将 “node_mod ...

  8. [爬虫]用python的requests模块爬取糗事百科段子

    虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更 ...

  9. Django学习day6——模板

    在day4中,你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python 代码之中. html = "<html><body& ...

  10. python机器学习——感知器

    最近在看机器学习相关的书籍,顺便把每天阅读的部分写出来和大家分享,共同学习探讨一起进步!作为机器学习的第一篇博客,我准备从感知器开始,之后会慢慢更新其他内容. 在实现感知器算法前,我们需要先了解一下神 ...