算法之二维数组(大炮打蚊子)
大炮打蚊子:蚊子分布在一个 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;
}
算法之二维数组(大炮打蚊子)相关推荐
- Java学习第二周(2)--排序算法与二维数组
声明:由于学习环境为JDK1.8,所有有关Java的代码均在JDK1.8环境中测试通过,若环境发生变换,代码可能会发生错误. 本周的学习难度较上周有明显提升,今天所学习的排序算法有很多需要理解 ...
- 剑指算法:二维数组的查找
首先需要明确: 什么是二维数组,二维数组和一维数组一样,一维数组存放元素,二维数组存放一维数组,实质也是存储数据的一个容器对象. 二维数组在定义上和一维数组一样,动态初始化和静态初始化. 二维数组的动 ...
- 【数据结构与算法】二维数组中的查找(剑指offer)java版
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 分析 ...
- 滴滴面试算法-----有序二维数组查找
题目如下: /**** 1,2,3* 4,5,6* 7,8,9有一个二位数组,从左到右,从上到下,都是有序的递增数组写一个算法 判断给定数组有没有在这个二位数组里提示:从左下角或者右上角开始找*/ 解 ...
- 随机组卷python_关于随机自动组卷的算法,二维数组
展开全部 要思路和注62616964757a686964616fe58685e5aeb931333335336436释再加100分danxuan=60; duoxuan=50; panduan=10; ...
- php 二维数组中去重,PHP实现二维数组去重功能示例
PHP实现二维数组去重功能示例 发布于 2017-08-07 21:05:17 | 68 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Prep ...
- 【二维数组与矩阵乘法】
本篇内容主要是用来实现两个二维数组元素相乘,从而得到一个新的矩阵 创建二维数组的结构: // 动态创建 typedef struct TwoDArray{int rows;int columns;// ...
- php查找二维数组下标,PHP实现二维数组中的查找算法小结
本文实例讲述了PHP实现二维数组中的查找算法.分享给大家供大家参考,具体如下: 方法1:silu从左下角最后一行的第一个元素开始,遍历.如果小于target 则遍历该行的所有元素,找到结束.如果大于继 ...
- c语言暴力求解法二维数组比较,【算法】搜索二维矩阵 暴力解法二分法 4种语言...
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1:输入:matrix = ...
最新文章
- 你不知道的windows7 技巧大全【3】
- android 快速 顶部,Android RecyclerView 快速滑到顶部
- aspnet登录界面代码_SPA+.NET Core3.1 GitHub第三方授权登录
- linux一键启动脚本,Linux一键启动、停止、重启Tomcat sh脚本
- Travis CI + github + hexo 自动化部署
- 部署在CloudFoundry上的nodejs如何正确使用port环境变量
- iOS安装CocoaPods的详细步骤
- 聊一下CPU占用高的解决方案
- 『收藏向 期末SSM课设救急』 教你从搭建到测试运行手撸一个SSM项目实战,附带源码,前端页面、解析和一般遇到的问题(排雷)
- 更换分布式文件系统副本组成员的硬件或操作系统——第一步:计划
- C# ashx生成的验证码
- 32位crc校验码程序_基于FPGA的CRC校验码生成器设计
- 云计算基础(纯理论)
- 7种常用数据分析方法 (下)
- instead of触发器
- python selenium下载图片_python 登陆开心网图片批量下载-selenium实现
- switch 求分段函数
- mysql复购率_MySQL_复购回购率
- canvas示例样式_使用js canvas和atari vcs trivia制作基本html游戏的快速示例
- 使用c语言实现三子棋游戏
热门文章
- 智慧企业的基础——知识中台
- 企业中台最佳实践--什么是中台(一)
- 注册淘宝安装工要求 淘宝安装工怎么接活
- 计算机科学与技术专业适合什么人,计算机科学与技术专业怎么样 主要学什么内容...
- 以色列MIMIC(Medical Information Mart for Intensive Care)数据库简介
- 坚持每天学习,让学习成为一种习惯
- 奇数下标都是奇数或者偶数下标都是偶数(Java)
- linux echo 字体大小 背景 字体颜色 的编码
- 定义c语言字符串的三种方法
- html tab顶部吸附,flutter,SliverPersistentHeader实现Tab顶部吸附固定效果