7-42 大炮打蚊子 (15 分)
7-42 大炮打蚊子 (15 分)(C)
现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格。向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意:
OOXOO
其中,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>
#include<math.h>
int main()
{int M,N,i,j,k,h,z,m=0,p,q,count=0,wenheng[500]={0},wenzong[500]={0},sheheng[500]={0},shezong[500]={0},jishu[30][30]={0};char a[30][30]={'\0'};scanf("%d %d",&M,&N);//平面大小for(i=0;i<M;i++)scanf("%s",&a[i]);//每行蚊子分布scanf("%d",&k);//炮弹数量for(i=0;i<k;i++)scanf("%d %d",&sheheng[i],&shezong[i]);//每个炮弹坐标for(i=0;i<M;i++)//记下所有蚊子坐标for(j=0;j<N;j++)if(a[i][j]=='#'){wenheng[m]=i;wenzong[m++]=j;}for(i=0;i<k;i++){h=sheheng[i];z=shezong[i];for(j=0;j<m;j++)//炮弹旁边有不有蚊子{if(wenheng[j]==h&&wenzong[j]==z)//如果正中{if(jishu[wenheng[j]][wenzong[j]]==1)jishu[wenheng[j]][wenzong[j]]++;elsejishu[wenheng[j]][wenzong[j]]+=2;}if(fabs(wenheng[j]-h)==1&&fabs(wenzong[j]-z)==0||fabs(wenheng[j]-h)==0&&fabs(wenzong[j]-z)==1)//如果在炮弹周围jishu[wenheng[j]][wenzong[j]]++;}for(p=0;p<M;p++)//每射一个炮弹检查一次for(q=0;q<N;q++)if(jishu[p][q]==2){jishu[p][q]++;//让计数不等于二避免后面统计重复count++;}printf("%d\n",count);count=0;}return 0;
}
7-42 大炮打蚊子 (15 分)相关推荐
- 5-14 大炮打蚊子 (15分)
5-14 大炮打蚊子 (15分) 现在,我们用大炮来打蚊子:蚊子分布在一个M\times NM×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXO ...
- 大炮打蚊子 (15 分)(二维数组训练)
鉴于网络上找不到自己看得懂的c语言代码,我打算自己发一下,希望可以帮助更多朋友 题目内容: 样例: 参考代码: PS:先看主函数注释再看自定义函数注释 #include<stdio.h>i ...
- j-4 大炮打蚊子 (10 分)关于最后一个测试点出错及本题的具体思路(以作者思路为例)
j-4 大炮打蚊子 (10 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹, 炮弹的杀伤范围如下示意: O OXO O 其中,X ...
- 4-2 多项式求值 (15分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式 f(x)=∑i=0n(a[i]×xi)f(x)=\sum_{i=0}^{n}(a[i]
4-2 多项式求值 (15分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑i=0n(a[i]×xi)f(x)=\sum_{i=0}^{n}(a[i]\ ...
- 7-4 大炮打蚊子 (20分)__C++
题目 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXOO 其中,X为炮弹落点中心,O为紧靠中心的四个有杀 ...
- 大炮打蚊子(c语言易懂版)
7-80 大炮打蚊子 (15 分) 有问题欢迎咨询. 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXO ...
- 7-80 大炮打蚊子(C语言)
7-80 大炮打蚊子 (15 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXO O 其中,X为炮 ...
- 【听说有人想转码】大炮打蚊子----用二维数组写小游戏
上题目 大炮打蚊子 (5 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意: O OXOO 其中,X为炮弹落点中 ...
- 7-3 大炮打蚊子(15 分)
这道题其实不难,水题,好长时间没发了,发一个 题目: 7-3 大炮打蚊子(15 分) 现在,我们用大炮来打蚊子:蚊子分布在一个M×N格的二维平面上,每只蚊子占据一格.向该平面的任意位置发射炮弹,炮弹的 ...
最新文章
- 进程和线程的区别与联系
- 粘贴铜箔简易实验电路制作
- paho.mqtt.embedded-c-master c语言版本架构
- python文件和目录操作方法大全(含实例)
- spring boot使用外置tomcat部署需要排除的依赖
- C++菱形继承产生的问题和解决
- 洛谷 P1800 software_NOI导刊2010提高(06)(二分答案+DP检验)
- 2019年最新资料!共7T!
- typeof和instanceof的用法
- 投资顾问模式将改变整个基金行业
- java ftl 模板 输出list_关于在freemarker模板中遍历数据模型ListJavaBean的经验
- vba随机抽取人名不重复_用vb编写个随机滚动抽取人名的抽奖系统,怎么样做到不重复并添加一个记录显示已抽到的人名...
- 推荐算法之协同过滤算法详解(原理,流程,步骤,适用场景)
- php tracert,详解路由跟踪命令(tracert)
- Ubuntu系统下python编程入门
- SecureCRT快捷键大全
- docker入门小结
- 跨界智能手表:比亚迪向左,小鹏向右
- matlab 非线性拟合残差,求大神帮助一下关于matlab非线性拟合的问题
- 单片机关于推挽输出和开漏输出