现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格。向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意:
目录
输入格式:
输出格式:
输入样例:
输出样例:
正确答案:
现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格。向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意:
O
OXOO
其中,X
为炮弹落点中心,O
为紧靠中心的四个有杀伤力的格子范围。若蚊子被炮弹命中(位于X
格),一击毙命,若仅被杀伤(位于O
格),则损失一半的生命力。也就是说,一次命中或者两次杀伤均可消灭蚊子。现在给出蚊子的分布情况以及连续k
发炮弹的落点,给出每炮消灭的蚊子数。
输入格式:
第一行为两个不超过20的正整数M
和N
,中间空一格,表示二维平面有M
行、N
列。
接下来M
行,每行有N
个0
或者#
字符,其中#
表示所在格子有蚊子。
接下来一行,包含一个不超过400的正整数k
,表示发射炮弹的数量。
最后k
行,每行包括一发炮弹的整数坐标x
和y
(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
#include<stdio.h>int main()
{//此处定义要输入的列行int n = 0, m = 0;//定义数组存储蚊子分布图char s[21][21] = { 0 };//输入蚊子数据scanf("%d%d", &m, &n);getchar();//吞掉回车for (int i = 0; i < m; i++){scanf("%s", s[i]);//输入蚊子分布图}//定义一个数组存储消灭蚊子数int m1[400] = { 0 };//定义一个变量来控制m数组的下标int i = 0;//输入炮弹数与坐标数int k = 0, x = 0, y = 0;scanf("%d", &k);while (k--){//输入坐标scanf("%d %d", &x, &y);//此处作为判断,如果坐标等于#就是直接消灭,如果x+-1,或者y+-1处有则蚊子损失半格血变为残血$if (s[x][y] == '#'){s[x][y] = '0';m1[i] += 1;}//如果坐标此处刚好是残血蚊子$就死掉加一if(s[x][y]=='$'){s[x][y] = '0';m1[i] += 1;}//如果坐标上下左右是残血蚊子同理直接死掉统计数组中自增一if (s[x + 1][y] == '$'){s[x + 1][y] = '0';m1[i]+=1;}if (s[x - 1][y] == '$'){s[x - 1][y] = '0';m1[i]+=1;}if (s[x][y - 1] == '$'){s[x][y - 1] = '0';m1[i]+=1;}if (s[x][y + 1] == '$'){s[x][y + 1] = '0';m1[i]+=1;}if (s[x + 1][y] == '#'){s[x + 1][y] = '$';}if (s[x - 1][y] == '#'){s[x - 1][y] = '$';}if (s[x][y - 1] == '#'){s[x][y - 1] = '$';}if (s[x][y + 1] == '#'){s[x][y + 1] = '$';}i++;}//输出for (int e = 0; e < i; e++){printf("%d\n", m1[e]);}return 0;
}
现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格。向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意:相关推荐
- 两只蚊子的感人情感故事
两只蚊子的感人情感故事 夜慢慢地降临了.草丛里虫鸣唧唧,此起彼伏.有两只蚊子,歇在草叶上. 公蚊子吸了一口草汁,轻轻地推了推赌气僵立的母蚊子,柔声地哄道: "亲爱的,你就喝一口吧,你一整天不 ...
- 我看到天花板上有只蚊子
望着天花板发呆,看见的是灯啊线啊窗帘啊柜子冰箱啊等等边上的东西,这时发现了天花板上有一只蚊子,我就盯着那只蚊子,我没动蚊子也没动,盯着盯着我就在想要看蚊子有几条腿,翅膀是不是张开了,我还在想要是我是那 ...
- 从“做什么”到“怎么做”,说说一只蚊子
天儿热了,蚊子又开始新一轮回的抽血行动.要抽血就别吭声嘛,结果还老是在我耳边嗡嗡嗡嗡,TMD真烦!搞的我一夜都没睡好.现在还在犯困涅~~~ 分析一下这个问题,主角是蚊子,它有根用来抽血的针管和一双会发 ...
- 7-3 大炮打蚊子(15 分)
这道题其实不难,水题,好长时间没发了,发一个 题目: 7-3 大炮打蚊子(15 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的 ...
- 《数据结构与算法实战-周强-2.2》——大炮打蚊子
文章目录 题目 分析 代码 题目 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXO O 其中,X为炮弹落 ...
- 7-42 大炮打蚊子 (15 分)
7-42 大炮打蚊子 (15 分)(C) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: OOXOO 其中,X为炮 ...
- j-4 大炮打蚊子 (10 分)关于最后一个测试点出错及本题的具体思路(以作者思路为例)
j-4 大炮打蚊子 (10 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹, 炮弹的杀伤范围如下示意: O OXO O 其中,X ...
- ## 7-7 大炮打蚊子 (15 分)
7-7 大炮打蚊子 (15 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXO O 其中,X为炮弹落 ...
- 【PTA】7-7 大炮打蚊子
7-7 大炮打蚊子(15 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXOO 其中,X为炮弹落点中 ...
最新文章
- 2021年昆明师专附中高考成绩查询,昆明高中4大名校,2019高考成绩厉害了,快看看是哪些?...
- REDHAT6.4桌面环境添加快捷建打开命令行终端
- 数据库 sqlite order by对结果集进行排序
- Express — 使用步骤
- python将html存为pdf_用Python将HTML转为PDF。
- [vue] 如果现在让你从vue/react/angularjs三个中选择一个,你会选哪个?说说你的理由
- 有道翻译接口问题(续)
- 敏捷开发系列学习总结(10)——到底什么是敏捷开发?
- RMI 异常 no security manager: RMI class loader disabled
- [转] 测试员,敢问路在何方(来自微软工程师)
- 用了10年海尔家电,青岛一音乐老师为海尔写了1首歌
- Wise UNpacker 0.91A [with Delphi Source]
- 八大机器学习框架对比及Tensorflow的优势
- 次世代3D游戏建模视频教程百度云分享
- 68个Python内置函数详解,进阶必备!
- cvr存储服务器的优势,CVR是什么
- 族蚂建站课堂:域名相关基础内容
- 新唐n76e003单片机遥控PWM信号检测控制航灯系统
- android高仿美团筛选控件,Android高仿美团首页分类按钮
- Basemap绘制地图