上题目

大炮打蚊子 (5 分)

现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格。向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意:

 O
OXOO

其中,X为炮弹落点中心,O为紧靠中心的四个有杀伤力的格子范围。若蚊子被炮弹命中(位于X格),一击毙命,若仅被杀伤(位于O格),则损失一半的生命力。也就是说,一次命中或者两次杀伤均可消灭蚊子。现在给出蚊子的分布情况以及连续k发炮弹的落点,给出每炮消灭的蚊子数。

输入格式:

第一行为两个不超过20的正整数MN,中间空一格,表示二维平面有M行、N列。

接下来M行,每行有N0或者#字符,其中#表示所在格子有蚊子。

接下来一行,包含一个不超过400的正整数k,表示发射炮弹的数量。

最后k行,每行包括一发炮弹的整数坐标xy(0≤x<M,0≤y<N),之间用一个空格间隔。

输出格式:

对应输入的k发炮弹,输出共有k行,第i行即第i发炮弹消灭的蚊子数。

输入样例:

5 6
00#00#
000###
00#000
000000
00#000
2
1 2
1 4

输出样例:

0
2

唠嗑

注意,输入的坐标是从0开始计数的,所以出现0 0也可以。

上代码

#include <iostream>
using namespace std;
int main()
{int n, m, a[20][20], i, j; char x;cin >> m >> n;for (i = 0; i < m; i++){for (j = 0; j < n; j++){cin >> x;if (x == '0') { a[i][j] = 0; }else { a[i][j] = 2; }}}//读入蚊子阵int k; cin >> k;int sum = 0;while (k--){sum = 0;cin >> i >> j;if (a[i][j] > 0) { a[i][j] = 0; sum++; }if(i-1>=0){if (a[i - 1][j] == 1) { a[i - 1][j] = 0; sum++; }else if (a[i - 1][j] == 2) { a[i - 1][j] = 1;  }}if (i+1 <m){if (a[i+1][j] == 1) { a[i + 1][j] = 0; sum++; }else if (a[i + 1][j] == 2) { a[i + 1][j] = 1; }}if (j - 1 >= 0){if (a[i][j - 1] == 2) { a[i][j - 1] = 1; }else if (a[i][j - 1] == 1) { a[i][j - 1] = 0; sum++; }}if (j + 1 <n){if (a[i][j + 1] == 2) { a[i][j + 1] = 1; }else if (a[i][j + 1] == 1) { a[i][j +1] = 0; sum++; }}cout << sum << endl;}return 0;
}

【听说有人想转码】大炮打蚊子----用二维数组写小游戏相关推荐

  1. 【听说有人想转码】入门----求心理阴影面积

    上题目 心理阴影面积 (4 分) 这是一幅心理阴影面积图.我们都以为自己可以匀速前进(图中蓝色直线),而拖延症晚期的我们往往执行的是最后时刻的疯狂赶工(图中的红色折线).由红.蓝线围出的面积,就是我们 ...

  2. (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果

    场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...

  3. 怎么用python生成带二维码的照片_怎么制作二维码图片-Python 生成个性二维码

    一.实验介绍1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 1.2 知识点 Python3基础 MyQR ...

  4. python3 + opencv +pyzbar实时检测二维码 / 定位二维码,并绘制出二维码的框和提取二维码内容

    python3 + opencv +pyzbar实时检测二维码 / 定位二维码,并绘制出二维码的框和提取二维码内容 1 pyzbar二维码检测模块 1.1. pyzbar模块介绍 1.2 pyzbar ...

  5. 电脑生成永久二维码怎么弄的?二维码图案不变怎么改内容?

    很多小伙伴经常会因为工作需要制作二维码图片,常见的有做视频二维码.音频二维码.文件二维码等等,但是可能有的二维码会具备一定的时效性,那么如果想要制作使用永久二维码该如何制作呢?想要生成永久的二维码内容 ...

  6. python批量识别二维码图片_python批量操作生成二维码

    二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型.生成二维码的方式有 ...

  7. 怎样在线将视频文件转二维码?如何使用视频二维码生成器?

    现在很多人都会把做成视频做成二维码图片来分享给他人展示,使用这种方法能够减少视频传输的时间,更快的让他人获取内容.那么如何使用二维码生成器来将视频转二维码图片操作呢?下面就跟着小编一起来学习一下视频生 ...

  8. 树莓派4b + python3 + pyzbar + opencv + 摄像头 扫描识别二维码(寻找最大的二维码)

    前言 最近需要做一个扫码乘车的功能,于是使用树莓派的摄像头扫描二维码来做一个demo . 网上有部分人用的是zbar这个库,但是我安装后,发现并不能在Python3上使用,这就有点不太好了.经过我的多 ...

  9. 视频怎样做二维码?视频转成二维码的完整教程

    视频二维码是什么呢?当用户想要将视频生成二维码时,使用机智熊即可轻松快捷的生成二维码,用户可以扫描二维码来查看视频,而且可以通过微信来分享视频内容,快速让视频得到传播与扩散. 视频二维码生成器官网:  ...

最新文章

  1. 2021年春季学期-信号与系统-第二次作业参考答案-第六小题
  2. 使用 FOR XML PATH 合并SQL Server查询结果的重复行
  3. RabbitMQ面试题及答案
  4. QT学习:线程等待与唤醒
  5. 排序算法——归并排序
  6. Git服务器搭建笔记
  7. 给Visual Studio Code的文件夹和文件替换图标
  8. C#通过工厂模式,我把一大堆if干掉了
  9. java jni调用dll_浅谈JNI的使用--java调用dll(原创)
  10. php调用易语言的dll文件,【PHP】真正意义上的PHP调用易语言DLL
  11. 如何加入微服务 Apache ServiceComb 社区
  12. Java学习资料-Java常用算法-冒泡排序算法
  13. 19 岁少年找 Bug 赚了 100 万美元
  14. maven项目打包成可执行的jar
  15. java cmd 编译jar_Java程序在命令行下编译运行打Jar包
  16. STM32借助Mbed OS多线程调节电脑音量
  17. Pandas学习——文本数据
  18. 显示器知识:分辨率1080P、2K、4K、8K相关知识介绍,看完你就懂了!
  19. 抓住金三银四的尾巴,解锁程序员面试《刷题神器》
  20. LuceneSolrElasticSearch-面试题

热门文章

  1. CTF靶机 Tartarus 笔记
  2. echart自定义动画_很炫的echarts动画
  3. java毕业设计——基于JSP+sqlserver的学生信息管理系统设计与实现(毕业论文+程序源码)——学生信息管理系统
  4. LaTeX分享【LaTeX中文字的基本使用】
  5. yum处于锁定状态的解决方法
  6. 马震宇-360问答系统(基于HDPHP)
  7. teamviewer被检测为商业用途|5分钟限制去除
  8. 声纹识别demo环境的搭建
  9. 更新maven一直在更新_Maven项目在更新过程停止,再更新无效--解决
  10. 一阶非线性常微分方程解的存在性定理—Picard-Lindelof定理