洛谷C++简单题小练习day9—[AHOI2017]寻找探监点

day9--[AHOI2017]寻找探监点--2.7

习题概述

题目描述

一个n×n 的网格图(标号由 1,1 开始)上有 m 个探测器,每个探测器有个探测半径 r ,问这 n×n 个点中有多少个点能被探测到。

输入格式

第一行 3 个整数 n,m,r。

接下来 m 行,每行两个整数x,y表示第 i 个探测器的坐标。

输出格式

能被探测到的点的个数。

 代码部分

#include<bits/stdc++.h>
using namespace std;
int x[10001],y[10001];
bool a[10001][10001];
int m,n,r;
int main()
{cin>>n>>m>>r;int ans=0;//通过循环读取m组x和y的坐标值for(int i1=1;i1<=m;i1++){cin>>x[i1]>>y[i1];{//嵌套两层循环遍历平面上的所有点,计算每个点与给定点之间的距离for(int j=1;j<=n;j++){double o1=sqrt((x[i1]-i)*(x[i1]-i)+(y[i1]-j)*(y[i1]-j)); //两点距离公式//并判断是否小于等于r,如果是则将a数组对应位置置为trueif(o1<=r) a[i][j]=true;} }
}
//遍历平面上的所有点,统计满足条件的点的数量for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(a[i][j]==1) ans++;cout<<ans;return 0;
}

心得体会

1.很简单的一道题,对于r最初的理解错了, r 指的是一个大范围 !!!

2. 代码中的两点距离公式用于计算平面上两个点之间的距离,通过欧几里得距离公式来实现的。在代码中,两点的坐标分别为 (x[i1], y[i1]) 和 (i, j)。

根据欧几里得距离公式,两点之间的距离可以计算为:

d = sqrt(   (x[ i1] - i)^2 + (y[ i1] - j)^2  )

其中,^2 表示对其前面的数进行平方运算,sqrt() 函数表示求平方根。

double o1=sqrt( (x[ i1] - i )*(x[ i1] - i )+(y[ i1] - j )*(y[ i1] - j ) ) ;

3.代码总结:

(1)代码首先通过标准输入读取了三个整数n、m和r,分别表示网格图的大小、探测器的数量以及探测半径。

(2)然后通过循环逐个读取m个探测器的坐标位置(x, y),接着使用嵌套的两层循环遍历整个n×n的网格图上的所有点,计算每个点到探测器的距离,如果小于等于探测半径r,则将对应的a数组位置置为true,表示该点能被探测到。

(3)最后再次使用嵌套的两层循环遍历整个网格图,统计满足被探测到条件的点的数量,并输出结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/458838.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP 粘包/拆包

文章目录 概述粘包拆包发生场景解决TCP粘包和拆包问题的常见方法Netty对粘包和拆包问题的处理小结 概述 TCP的粘包和拆包问题往往出现在基于TCP协议的通讯中&#xff0c;比如RPC框架、Netty等 TCP 粘包/拆包 就是你基于 TCP 发送数据的时候&#xff0c;出现了多个字符串“粘”…

如何修改远程端服务器密钥

前言 一段时间没改密码后&#xff0c;远程就会自动提示CtrlAltEnd键修改密码。但我电脑是笔记本&#xff0c;没有end键。打开屏幕键盘按这三个键也没用。 解决方法 打开远程 1、远程端WINC 输入osk 可以发现打开了屏幕键盘 2、电脑键盘同时按住CtrlAlt&#xff08;若自身电…

PMP备考的三个阶段及学习方法分享

PMP证书是项目管理必备的关键技能证书&#xff0c;是具备进行项目管理的重要技能体现。无论升职加薪&#xff0c;还是从事项目管理工作&#xff0c;都非常重要。 个人主要从事产品开发工作&#xff0c;开始逐渐承担一些项目经理角色&#xff0c;但目前项目管理知识薄弱&#x…

Spring Data Envers 数据审计实战2 - 自定义监听程序扩展审计字段及字段值

上篇讲述了如何在Spring项目中集成Spring Data Envers做数据审计和历史版本查看功能。 之前演示的是业务表中已有的字段进行审计&#xff0c;那么如果我们想扩展审计字段呢&#xff1f; 比如目前对员工表加入了Audited审计&#xff0c;员工表有个字段为dept_id&#xff0c;为…

14 归并排序和其他排序

1.归并排序 2.计数排序 1. 归并排序 基本思想 建立在归并操作上的一种排序算法,采用分治法的一个典型应用。将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff0c;将两个有序表合成一个称为二路归并。 原数组无序&#xff0c;以中间分割为两个数组&#xff0c;…

用Jmeter进行接口测试

web接口测试工具&#xff1a; 手工测试的话可以用postman &#xff0c;自动化测试多是用到 Jmeter&#xff08;开源&#xff09;、soupUI&#xff08;开源&商业版&#xff09;。 下面将对前一篇Postman做接口测试中的接口用Jmeter来实现。 一、Jmeter 的使用步骤 打开Jme…

惊鸿一瞥-网络初识

&#x1f495;"Echo"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;惊鸿一瞥-网络初识 一.网络的发展过程 网络的发展过程是循序渐进的,大致可以分为四个阶段: 单机时代->局域网时代->广域网时代->互联网时代 单机时代:就是每个机器之间…

linux 06 磁盘管理

01.先管理vm中的磁盘&#xff0c;添加一个磁盘 第一步.vm软件&#xff0c;打开虚拟机设置&#xff0c;添加硬盘 第二步.选择推荐scsi 第三步.创建一个新的虚拟磁盘 第四步. 第五步. 02.在创建好的vm虚拟机中查看刚才创建的磁盘 在centos中/dev 目录是设备目录 sda是磁盘…

S7-1200PLC通讯问题总结

文章目录 一、硬件1.串口通信RS232RS485RS422 2.网口通信 二、协议1.串口通信协议2.网口通信协议 三、程序编写1.S7通信PUTGET 2.开放式以太网通信 一、硬件 可分为PLC与PLC通信&#xff0c;PLC与上位机通信&#xff0c;PLC与变频器通信&#xff0c;PLC与仪器仪表通信&#xf…

数据结构——单链表详解

目录 前言 一.什么是链表 1.概念 ​编辑 2.分类 二.单链表的实现(不带头单向不循环链表) 2.1初始化 2.2打印 2.3创建新节点 2.4头插、尾插 2.5头删、尾删 2.6查找 2.7在指定位置之前插入 2.8在指定位置之后插入 2.9删除pos位置 2.10删除pos之后的 2.11销毁链表…

风丘EV能量流测试解决方案 提高电动汽车续航能力

电动汽车&#xff08;EV&#xff09;近些年发展迅猛&#xff0c;已被汽车业内普遍认为是未来汽车发展的新方向&#xff0c;但现如今电动汽车仍然存在一些短板&#xff0c;导致其还无法替代传统燃油车。对此&#xff0c;首先想到的肯定就是电动车的续航问题。其实解决电动车续航…

锁(二)队列同步器AQS

一、队列同步器AQS 1、定义 用来构建锁或者其他同步组件的基础框架&#xff0c;它使用了一个int成员变量表示同步状态&#xff0c;通过内置的FIFO队列来完成资源获取线程的排队工作。是实现锁的关键。 2、实现 同步器的设计是基于模板方法模式的&#xff0c;也就是说&#…