目录

输入格式:

输出格式:

输入样例:

输出样例:

正确答案:


现在,我们用大炮来打蚊子:蚊子分布在一个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
#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格的二维平面上,每只蚊子占据一格。向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意:相关推荐

  1. 两只蚊子的感人情感故事

    两只蚊子的感人情感故事 夜慢慢地降临了.草丛里虫鸣唧唧,此起彼伏.有两只蚊子,歇在草叶上. 公蚊子吸了一口草汁,轻轻地推了推赌气僵立的母蚊子,柔声地哄道: "亲爱的,你就喝一口吧,你一整天不 ...

  2. 我看到天花板上有只蚊子

    望着天花板发呆,看见的是灯啊线啊窗帘啊柜子冰箱啊等等边上的东西,这时发现了天花板上有一只蚊子,我就盯着那只蚊子,我没动蚊子也没动,盯着盯着我就在想要看蚊子有几条腿,翅膀是不是张开了,我还在想要是我是那 ...

  3. 从“做什么”到“怎么做”,说说一只蚊子

    天儿热了,蚊子又开始新一轮回的抽血行动.要抽血就别吭声嘛,结果还老是在我耳边嗡嗡嗡嗡,TMD真烦!搞的我一夜都没睡好.现在还在犯困涅~~~ 分析一下这个问题,主角是蚊子,它有根用来抽血的针管和一双会发 ...

  4. 7-3 大炮打蚊子(15 分)

    这道题其实不难,水题,好长时间没发了,发一个 题目: 7-3 大炮打蚊子(15 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的 ...

  5. 《数据结构与算法实战-周强-2.2》——大炮打蚊子

    文章目录 题目 分析 代码 题目 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXO O 其中,X为炮弹落 ...

  6. 7-42 大炮打蚊子 (15 分)

    7-42 大炮打蚊子 (15 分)(C) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: OOXOO 其中,X为炮 ...

  7. j-4 大炮打蚊子 (10 分)关于最后一个测试点出错及本题的具体思路(以作者思路为例)

    j-4 大炮打蚊子 (10 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹, 炮弹的杀伤范围如下示意: O OXO    O 其中,X ...

  8. ## 7-7 大炮打蚊子 (15 分)

    7-7 大炮打蚊子 (15 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXO O 其中,X为炮弹落 ...

  9. 【PTA】7-7 大炮打蚊子

    7-7 大炮打蚊子(15 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXOO 其中,X为炮弹落点中 ...

最新文章

  1. 2021年昆明师专附中高考成绩查询,昆明高中4大名校,2019高考成绩厉害了,快看看是哪些?...
  2. REDHAT6.4桌面环境添加快捷建打开命令行终端
  3. 数据库 sqlite order by对结果集进行排序
  4. Express — 使用步骤
  5. python将html存为pdf_用Python将HTML转为PDF。
  6. [vue] 如果现在让你从vue/react/angularjs三个中选择一个,你会选哪个?说说你的理由
  7. 有道翻译接口问题(续)
  8. 敏捷开发系列学习总结(10)——到底什么是敏捷开发?
  9. RMI 异常 no security manager: RMI class loader disabled
  10. [转] 测试员,敢问路在何方(来自微软工程师)
  11. 用了10年海尔家电,青岛一音乐老师为海尔写了1首歌
  12. Wise UNpacker 0.91A [with Delphi Source]
  13. 八大机器学习框架对比及Tensorflow的优势
  14. 次世代3D游戏建模视频教程百度云分享
  15. 68个Python内置函数详解,进阶必备!
  16. cvr存储服务器的优势,CVR是什么
  17. 族蚂建站课堂:域名相关基础内容
  18. 新唐n76e003单片机遥控PWM信号检测控制航灯系统
  19. android高仿美团筛选控件,Android高仿美团首页分类按钮
  20. Basemap绘制地图

热门文章

  1. python手机群控(adb命令)实现
  2. python完成梅花易数排盘程序
  3. 云开发山楂岛留言小程序带审核实现教程及源码
  4. FD 之 DingDing直播回放
  5. 马化腾、任正非用“灰度”捕捉新商业机会
  6. 使用 Flutter 开发 Google Translate 程序
  7. 超级解压缩工具RAR Extractor The Unarchiver Pro
  8. 初识Navigation(导航)
  9. unable to create temporary file
  10. Excel教程:规范Excel表格设计,让工作效率提升百倍不止