大炮打蚊子:蚊子分布在一个 M * N 格的二维平面上,每只蚊子占据一格。向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意ooxoo其中,x为炮弹落点中心,o为仅靠中心的四个有杀伤力的格子范围。若蚊子被炮弹命中(位于x格),一击毙命,若仅为杀伤(位于o格),则损失一半的生命力。也就是说一次命中或者两次杀伤都可以消灭蚊子。现在输入蚊子的分布情况以及连续k发炮弹的落点,输出每炮消灭的蚊子数
输入样例:5 6        代表 5行 6列00#00#     每行蚊子分布 0表示空的格子,#表示蚊子所在格子000###00#00000000000#0002          炮弹数目1 2        炮弹的坐标1 4输出结果02
int M,N;
int board[20][20];
int bound(int x, int y, int kill){if(x>=0 && x<M && y>=0 && y<N && board[x][y] >0){board[x][y] -= kill;if(board[x][y] <=0){return 1; }else{return 0;}}else{return 0;}
}
int main(int argc, char *argv[]) {scanf("%d%d", &M, &N);getchar();for(int i=0;i<M;i++){for(int j=0;j<N;j++){board[i][j] = getchar() == '0' ? 0 : 2;}getchar();}int k;scanf("%d", &k);for(int i=0; i<k; i++){int x,y,count;scanf("%d%d", &x, &y);count = 0;count += bound(x,y,2);count += bound(x-1,y,1);count += bound(x+1,y,1);count += bound(x,y-1,1);count += bound(x,y+1,1);printf("%d\n", count);}//   for(int i=0;i<M;i++){
//      for(int j=0;j<N;j++){
//          printf("%d", board[i][j]);
//      }
//      putchar('\n');
//  }return 0;
}

算法之二维数组(大炮打蚊子)相关推荐

  1. Java学习第二周(2)--排序算法与二维数组

    声明:由于学习环境为JDK1.8,所有有关Java的代码均在JDK1.8环境中测试通过,若环境发生变换,代码可能会发生错误.     本周的学习难度较上周有明显提升,今天所学习的排序算法有很多需要理解 ...

  2. 剑指算法:二维数组的查找

    首先需要明确: 什么是二维数组,二维数组和一维数组一样,一维数组存放元素,二维数组存放一维数组,实质也是存储数据的一个容器对象. 二维数组在定义上和一维数组一样,动态初始化和静态初始化. 二维数组的动 ...

  3. 【数据结构与算法】二维数组中的查找(剑指offer)java版

    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 分析 ...

  4. 滴滴面试算法-----有序二维数组查找

    题目如下: /**** 1,2,3* 4,5,6* 7,8,9有一个二位数组,从左到右,从上到下,都是有序的递增数组写一个算法 判断给定数组有没有在这个二位数组里提示:从左下角或者右上角开始找*/ 解 ...

  5. 随机组卷python_关于随机自动组卷的算法,二维数组

    展开全部 要思路和注62616964757a686964616fe58685e5aeb931333335336436释再加100分danxuan=60; duoxuan=50; panduan=10; ...

  6. php 二维数组中去重,PHP实现二维数组去重功能示例

    PHP实现二维数组去重功能示例 发布于 2017-08-07 21:05:17 | 68 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Prep ...

  7. 【二维数组与矩阵乘法】

    本篇内容主要是用来实现两个二维数组元素相乘,从而得到一个新的矩阵 创建二维数组的结构: // 动态创建 typedef struct TwoDArray{int rows;int columns;// ...

  8. php查找二维数组下标,PHP实现二维数组中的查找算法小结

    本文实例讲述了PHP实现二维数组中的查找算法.分享给大家供大家参考,具体如下: 方法1:silu从左下角最后一行的第一个元素开始,遍历.如果小于target 则遍历该行的所有元素,找到结束.如果大于继 ...

  9. c语言暴力求解法二维数组比较,【算法】搜索二维矩阵 暴力解法二分法 4种语言...

    编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1:输入:matrix = ...

最新文章

  1. 你不知道的windows7 技巧大全【3】
  2. android 快速 顶部,Android RecyclerView 快速滑到顶部
  3. aspnet登录界面代码_SPA+.NET Core3.1 GitHub第三方授权登录
  4. linux一键启动脚本,Linux一键启动、停止、重启Tomcat sh脚本
  5. Travis CI + github + hexo 自动化部署
  6. 部署在CloudFoundry上的nodejs如何正确使用port环境变量
  7. iOS安装CocoaPods的详细步骤
  8. 聊一下CPU占用高的解决方案
  9. 『收藏向 期末SSM课设救急』 教你从搭建到测试运行手撸一个SSM项目实战,附带源码,前端页面、解析和一般遇到的问题(排雷)
  10. 更换分布式文件系统副本组成员的硬件或操作系统——第一步:计划
  11. C# ashx生成的验证码
  12. 32位crc校验码程序_基于FPGA的CRC校验码生成器设计
  13. 云计算基础(纯理论)
  14. 7种常用数据分析方法 (下)
  15. instead of触发器
  16. python selenium下载图片_python 登陆开心网图片批量下载-selenium实现
  17. switch 求分段函数
  18. mysql复购率_MySQL_复购回购率
  19. canvas示例样式_使用js canvas和atari vcs trivia制作基本html游戏的快速示例
  20. 使用c语言实现三子棋游戏

热门文章

  1. 智慧企业的基础——知识中台
  2. 企业中台最佳实践--什么是中台(一)
  3. 注册淘宝安装工要求 淘宝安装工怎么接活
  4. 计算机科学与技术专业适合什么人,计算机科学与技术专业怎么样 主要学什么内容...
  5. 以色列MIMIC(Medical Information Mart for Intensive Care)数据库简介
  6. 坚持每天学习,让学习成为一种习惯
  7. 奇数下标都是奇数或者偶数下标都是偶数(Java)
  8. linux echo 字体大小 背景 字体颜色 的编码
  9. 定义c语言字符串的三种方法
  10. html tab顶部吸附,flutter,SliverPersistentHeader实现Tab顶部吸附固定效果