[计算几何]雷达覆盖

该博客探讨了如何解决计算几何中的雷达覆盖问题。通过输入数据包括雷达半径和多个点的位置,确定雷达旋转后能覆盖的最多点数。博主提出通过叉积公式排除超出覆盖范围的点,并进行两两比较,计算逆时针和顺时针方向的点数,从而找到最大覆盖数。
摘要由CSDN通过智能技术生成

题目描述
以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的)
这里写图片描述
Input
有若干组数据,第一行有两个正整数,一个半径,表示雷达的位置和半径
第二行是n,表示有多少个点
接下来n行每行两个坐标表示点的位置
当半径为负数时输入结束
Ouput
对每个数据给出雷达最多能覆盖的点数

分析
叉积的公式练习题啊!
首先读入时将不能覆盖(线段距离超出半径的)去除就好了
然后就n^2每举每个点相对于雷达位置的叉积,如果小于0就在逆时针方向,个数++
大于0就在顺时针方向,个数++
如果等于0两边的个数都++
然后求出最大值就好了!

#include <iostream>
#include <cstdio>
#include <cmath>
#include <memory.h>
using 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值