洛谷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.mzph.cn/news/673259.shtml

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

相关文章

pinia-plugin-persistedstate 插件不生效

问题描述&#xff1a; 使用 pinia-plugin-persistedstate 插件进行数据持久化存储到 localStorage 中&#xff0c;但是插件不生效。 原因分析及解决方案&#xff1a; 原因&#xff1a; import {createPinia} from pinia import piniaPluginPersistedstate from pinia-plugin…

黄金交易策略:heiken ashi smoothed与macd快慢指标协同工作

第2点应该是有很大的优化空间 推荐阅读&#xff1a;Nerve Knife.ex4黄金交易策略_黄金趋势ea-CSDN博客

Verilog刷题笔记23

题目: Suppose you’re building a circuit to process scancodes from a PS/2 keyboard for a game. Given the last two bytes of scancodes received, you need to indicate whether one of the arrow keys on the keyboard have been pressed. This involves a fairly simp…

2020年通信工程师初级专业实务真题

文章目录 一、第1章 现代通信网概述&#xff1a;信令网、同步网、管理网。第10章 通信业务&#xff1a;通信产业链&#xff0c;通信终端的分类&#xff0c;通信业务的定义及分类二、第3章 接入网&#xff1a;无线接入网的优点&#xff0c;接入网的接口&#xff08;UNI&#xff…

git rebase # |REBASE 1/1 #rebase in progress; onto

git 代码解决冲突之后会提示rebase in progress; onto 1 执行git rebase --abort 回到没有pull代码之前 2 git pull 3 解决冲突 4 git add . (不需要git commit) 5 git rebase --continue 6 git push

人工智能之大数定理和中心极限定理

大数定律 大数定律&#xff1a;是一种描述当试验次数很大时所呈现的概率性致的定律&#xff0c;由概率统计定义“频率收敛于概率”引申而来。换而言之&#xff0c;就是n个独立分布的随机变量其观察值的均值依概率收敛于这些随机变量所属分布的理论均值&#xff0c;也就是总体均…

拿捏循环链表

目录&#xff1a; 一&#xff1a;单链表&#xff08;不带头单向不循环&#xff09;与循环链表&#xff08;带头双向循环&#xff09;区别 二&#xff1a;循环链表初始化 三&#xff1a;循环链表头插 四&#xff1a;循环链表尾插 五&#xff1a;循环链表头删 六&#xff1…

kafka客户端生产者消费者kafka可视化工具(可生产和消费消息)

点击下载《kafka客户端生产者消费者kafka可视化工具&#xff08;可生产和消费消息&#xff09;》 1. 前言 因在工作中经常有用到kafka做消息的收发&#xff0c;每次调试过程中&#xff0c;经常需要查看接收的消息内容以及人为发送消息&#xff0c;从网上搜寻了一下&#xff0…

【C++航海王:追寻罗杰的编程之路】类与对象你学会了吗?(下)

目录 1 -> 再谈构造函数1.1 -> 构造函数体赋值1.2 -> 初始化列表1.3 -> explicit关键字 2 -> static成员2.1 -> 概念2.2 -> 特性 3 -> 友元3.1 -> 友元函数3.2 -> 友元类 4 -> 内部类5 -> 匿名对象6 -> 拷贝对象时的一些编译器优化 1 -…

C++从零开始的打怪升级之路(day33)

这是关于一个普通双非本科大一学生的C的学习记录贴 在此前&#xff0c;我学了一点点C语言还有简单的数据结构&#xff0c;如果有小伙伴想和我一起学习的&#xff0c;可以私信我交流分享学习资料 那么开启正题 今天分享的是关于list的模拟实现&#xff0c;今天收尾&#xff0…

K8s环境下rook-v1.13.3部署Ceph-v18.2.1集群

文章目录 1.K8s环境搭建2.Ceph集群部署2.1 部署Rook Operator2.2 镜像准备2.3 配置节点角色2.4 部署operator2.5 部署Ceph集群2.6 强制删除命名空间2.7 验证集群 3.Ceph界面 1.K8s环境搭建 参考&#xff1a;CentOS7搭建k8s-v1.28.6集群详情&#xff0c;把K8s集群完成搭建&…

基于高通滤波器的ECG信号滤波及心率统计matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 ECG信号简介 4.2 高通滤波器原理 4.3 心率统计 5.完整工程文件 1.课题概述 通过高通滤波器对ECG信号进行滤波&#xff0c;然后再统计其心率。 2.系统仿真结果 3.核心程序与模型 版本&#xff1a…

如何用DT浏览器建立视频播放系统

在DT浏览器官方网站下载最新版软件&#xff0c;安装&#xff0c;在DT浏览器首页点视频直播&#xff0c;软件会自动检测手机相册里的视频并且显示出来&#xff0c;选择需要播放的视频在直播间里播放。如果要建立节目单&#xff0c;需要在服务器上把播放顺序&#xff0c;视频名称…

【Iceberg学习三】Reporting和Partitioning原理

Metrics Reporting Type of Reports 从 1.1.0 版本开始&#xff0c;Iceberg 支持 MetricsReporter 和 MetricsReport API。这两个 API 允许表达不同的度量报告&#xff0c;并支持一种可插拔的方式来报告这些报告。 ScanReport&#xff08;扫描报告&#xff09; 扫描报告&am…

视觉未来:从图像读取到高级处理的计算机视觉精粹

1.计算机视觉 计算机视觉是一门集多学科知识于一体的领域&#xff0c;旨在赋予计算机处理和理解来自现实世界的视觉信息的能力。这涉及从图像或视频中提取数据&#xff0c;并利用这些数据来做出决策或增强人类的理解。计算机视觉的核心挑战是如何使计算机通过视觉感知来理解复…

算法——前缀和算法

1. 什么是前缀和算法 前缀和算法&#xff08;Prefix Sum&#xff09;是一种用于快速计算数组元素之和的技术。它通过预先计算数组中每个位置前所有元素的累加和&#xff0c;将这些部分和存储在一个新的数组中&#xff0c;从而在需要计算某个区间的和时&#xff0c;可以通过简单…

Mockito测试框架中的方法详解

这里写目录标题 第一章、模拟对象1.1&#xff09;①mock()方法&#xff1a;1.2&#xff09;②spy()方法&#xff1a; 第二章、模拟对象行为2.1&#xff09;模拟方法调用①when()方法 2.2&#xff09;模拟返回值②thenReturn(要返回的值)③doReturn() 2.3&#xff09;模拟并替换…

springboot-web服务迁移Kubernetes

1、搞定基础镜像 docker pull openjdk:8-jre-alpine docker tag openjdk:8-jre-alpine 10.204.82.15/kubernetes/openjdk:8-jre-alpine docker push 10.204.82.15/kubernetes/openjdk:8-jre-alpine 2、springboot-web应用服务打包 3、编写Dockerfile构建镜像 FROM 10.204.82.…

深入了解CMSIS:ARM Cortex微控制器软件接口标准介绍

CMSIS (Cortex Microcontroller Software Interface Standard) 是ARM公司提供的一套规范和接口&#xff0c;旨在为Cortex-M系列微控制器提供一致的软件接口&#xff0c;以提高开发效率和可移植性。本文将深入介绍CMSIS的各个部分和功能&#xff0c;并解释其在嵌入式系统开发中的…

Elasticsearch 中的索引的分区(Shards)和副本(Replicas)的使用

Elasticsearch是一个高性能的、分布式的搜索与数据分析引擎&#xff0c;广泛用于全文搜索、结构化搜索、分析以及这三者的组合场景。在Elasticsearch中&#xff0c;“索引”&#xff08;Index&#xff09;是其最基本的数据管理单位&#xff0c;可以类比为传统关系数据库中的“数…