题目描述
以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的)
Input
有若干组数据,第一行有两个正整数,一个半径,表示雷达的位置和半径
第二行是n,表示有多少个点
接下来n行每行两个坐标表示点的位置
当半径为负数时输入结束
Ouput
对每个数据给出雷达最多能覆盖的点数
分析
叉积的公式练习题啊!
首先读入时将不能覆盖(线段距离超出半径的)去除就好了
然后就n^2每举每个点相对于雷达位置的叉积,如果小于0就在逆时针方向,个数++
大于0就在顺时针方向,个数++
如果等于0两边的个数都++
然后求出最大值就好了!
#include <iostream>
#include <cstdio>
#include <cmath>
#include <memory.h>
using