Description


以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的)
雷达半径 ≤0 \leq0时退出程序

Analysis


没有输入输出描述也是醉了
继续学习叉积的应用:

确定两条连续的有向线段p0p1和p0p2在pl点是向左转还是向右转
如图

1. 计算叉积m=(x1-x0)*(y2-y0)-(x2-x0)*(y1-y0)
2. 判断m
若m>0 则p1点向左拐
若m<0 则p1点向右拐
若m=0 则点p0、p1、p2在一条直线上

枚举点作为雷达的分界线,判断左右两边点数量的多少,找一个最优值

Code


#include <stdio.h>
#include <cmath>
using namespace std;
struct point
{int x,y;
}t[101];
int cros(point a,point b,point c)
{return (b.x-c.x)*(a.y-c.y)-(a.x-c.x)*(b.y-c.y);
}
double dist(point a,point b)
{return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
int main()
{point radar;double r;while(~scanf("%d%d%lf",&radar.x,&radar.y,&r)&&(r>0)){int n,cnt=0,ans=0;scanf("%d",&n);for (int i=1;i<=n;i++){int x,y;scanf("%d%d",&x,&y);t[++cnt]=(point){x,y};if (dist(t[cnt],radar)>r)cnt--;}for (int i=1;i<=cnt;i++){int sumL=0,sumR=0;for (int j=1;j<=cnt;j++){int tmp=cros(t[i],t[j],radar);sumR+=tmp>=0?1:0;sumL+=tmp<=0?1:0;}ans=sumR>ans?sumR:ans;ans=sumL>ans?sumL:ans;}printf("%d\n",ans);}return 0;
}

雷达覆盖_ssl1232_计算几何相关推荐

  1. 【SSL.1232】雷达覆盖(计算几何)

    雷达覆盖 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) 输入样例 25 25 3.5------雷达坐标与半径 7----------点数 25 28------ ...

  2. 雷达覆盖 ssl 1232 计算几何

    Description 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) 分析 枚举点作为雷达的分界线,用叉积判断左右两边点数量的多少,找一个最优值. 可以先把在半径 ...

  3. 【SSL 1232】】【计算几何】(叉积)雷达覆盖

    雷达覆盖 题目 解题思路 基本概念 Code SSL 1232 雷达覆盖 题目 Description 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) Input ...

  4. (ssl1232)雷达覆盖(normal)

    雷达覆盖(normal) Description 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) Sample Input 25 25 3.5------雷达坐标与 ...

  5. 分析软件——ADS-B和雷达覆盖分析软件

    一.软件原理         雷达覆盖分析软件通过利用记录的雷达历史点迹信息,分析并生成各个高度层的雷达覆盖图.与基于高程数据的模拟覆盖分析软件相比,本系统是基于真实且未经平滑处理的的雷达点迹数据,不 ...

  6. #叉积#zoj 1041 poj 1106 ssl 1232 雷达覆盖问题 Transmitters

    题目 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) 分析 首先如果超过了范围,首先肯定是不可以的,再而可以枚举一个合法的点,那么这个点与雷达心所在的直线上正好把圆 ...

  7. 雷达覆盖(SSL_1232)

    Time Limit:1000MS  Memory Limit:65536K Total Submit:129 Accepted:57 Description 以雷达心为圆心的半圆形雷达覆盖范围有多个 ...

  8. SSL1232雷达覆盖(normal)

    题目描述 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) 样例输入 25 25 3.5------雷达坐标与半径 7----------点数 25 28------ ...

  9. 减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同

    转:减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同 本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用.而是关于:"业务逻辑是不是要封装在存 ...

最新文章

  1. python time
  2. SpringBoot2使用WebFlux函数式编程
  3. java几种远程服务调用协议的比较
  4. zend studio php 运行,Zend Studio使用教程:使用PHP 7进行开发(一)
  5. 2018_7_5 自撰imrotate和bwlabel的matlab代码实现
  6. 低版本内核编译奇怪错误
  7. 【多元统计分析】10.多元线性回归
  8. 【和76】龙头企业在区域市场中竞合关系分析样例(温微观察13-6)
  9. android对cpu硬件要求,Android手机想用64位处理器?系统阻碍
  10. 《The Elder Scrolls V: Skyrim》百般冷门却强力职业
  11. 阿里云ocr身份证识别接口调用
  12. Python爬取cosplay小姐姐图片
  13. SEO每天都是动态变化的,你要关注什么?
  14. vue3.0抢先看(附尤雨溪vue分享ppt)
  15. 部分特定领域的信息化检测管理要求和获认可机构目录
  16. TCL L55E5800A-UD ROOT 降级固件 V8-A962T01-LF1V026.zip
  17. Unity性能优化---音频
  18. 服务器阵列卡安装win7系统,乐扩阵列卡IO-PCE9230-4IR组阵列方法和windows7系统安装到阵列组详细讲解(附视频) - 常见问题 - 技术支持 - 乐扩...
  19. linux缓存buffer,【Linux】清理缓存buffer/cache
  20. 理解图卷积网络的节点分类

热门文章

  1. adb 常用命令,面试必问
  2. ROM、RAM存储器原理详解以及DRAM、SRAM、SDRAM 、FLASH存储器的介绍
  3. eclipse svn is already locked 的解决办法
  4. 区块链网络安全(区块链网络安全论文)
  5. php 如何股票曲线图,如何看股票曲线图?股票曲线图讲解
  6. office excel 装Visual Studio后报错解决方案
  7. 马士兵Python基础版2020教程P1-P57 PPT笔记+课堂代码
  8. 借数字化东风带动营收增长,百融云创深耕金融SaaS成效如何?
  9. IntelliJ IDEA终于支持对Redis 的可视化窗口操作了,真香!
  10. GB/T 2423.16电工电子产品环境试验第⒉部分:试验方法试验J及导则:长霉