雷达覆盖_ssl1232_计算几何
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_计算几何相关推荐
- 【SSL.1232】雷达覆盖(计算几何)
雷达覆盖 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) 输入样例 25 25 3.5------雷达坐标与半径 7----------点数 25 28------ ...
- 雷达覆盖 ssl 1232 计算几何
Description 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) 分析 枚举点作为雷达的分界线,用叉积判断左右两边点数量的多少,找一个最优值. 可以先把在半径 ...
- 【SSL 1232】】【计算几何】(叉积)雷达覆盖
雷达覆盖 题目 解题思路 基本概念 Code SSL 1232 雷达覆盖 题目 Description 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) Input ...
- (ssl1232)雷达覆盖(normal)
雷达覆盖(normal) Description 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) Sample Input 25 25 3.5------雷达坐标与 ...
- 分析软件——ADS-B和雷达覆盖分析软件
一.软件原理 雷达覆盖分析软件通过利用记录的雷达历史点迹信息,分析并生成各个高度层的雷达覆盖图.与基于高程数据的模拟覆盖分析软件相比,本系统是基于真实且未经平滑处理的的雷达点迹数据,不 ...
- #叉积#zoj 1041 poj 1106 ssl 1232 雷达覆盖问题 Transmitters
题目 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) 分析 首先如果超过了范围,首先肯定是不可以的,再而可以枚举一个合法的点,那么这个点与雷达心所在的直线上正好把圆 ...
- 雷达覆盖(SSL_1232)
Time Limit:1000MS Memory Limit:65536K Total Submit:129 Accepted:57 Description 以雷达心为圆心的半圆形雷达覆盖范围有多个 ...
- SSL1232雷达覆盖(normal)
题目描述 以雷达心为圆心的半圆形雷达覆盖范围有多个点 雷达可旋转,求最多覆盖数(含在边界的) 样例输入 25 25 3.5------雷达坐标与半径 7----------点数 25 28------ ...
- 减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同
转:减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同 本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用.而是关于:"业务逻辑是不是要封装在存 ...
最新文章
- python time
- SpringBoot2使用WebFlux函数式编程
- java几种远程服务调用协议的比较
- zend studio php 运行,Zend Studio使用教程:使用PHP 7进行开发(一)
- 2018_7_5 自撰imrotate和bwlabel的matlab代码实现
- 低版本内核编译奇怪错误
- 【多元统计分析】10.多元线性回归
- 【和76】龙头企业在区域市场中竞合关系分析样例(温微观察13-6)
- android对cpu硬件要求,Android手机想用64位处理器?系统阻碍
- 《The Elder Scrolls V: Skyrim》百般冷门却强力职业
- 阿里云ocr身份证识别接口调用
- Python爬取cosplay小姐姐图片
- SEO每天都是动态变化的,你要关注什么?
- vue3.0抢先看(附尤雨溪vue分享ppt)
- 部分特定领域的信息化检测管理要求和获认可机构目录
- TCL L55E5800A-UD ROOT 降级固件 V8-A962T01-LF1V026.zip
- Unity性能优化---音频
- 服务器阵列卡安装win7系统,乐扩阵列卡IO-PCE9230-4IR组阵列方法和windows7系统安装到阵列组详细讲解(附视频) - 常见问题 - 技术支持 - 乐扩...
- linux缓存buffer,【Linux】清理缓存buffer/cache
- 理解图卷积网络的节点分类
热门文章
- adb 常用命令,面试必问
- ROM、RAM存储器原理详解以及DRAM、SRAM、SDRAM 、FLASH存储器的介绍
- eclipse svn is already locked 的解决办法
- 区块链网络安全(区块链网络安全论文)
- php 如何股票曲线图,如何看股票曲线图?股票曲线图讲解
- office excel 装Visual Studio后报错解决方案
- 马士兵Python基础版2020教程P1-P57 PPT笔记+课堂代码
- 借数字化东风带动营收增长,百融云创深耕金融SaaS成效如何?
- IntelliJ IDEA终于支持对Redis 的可视化窗口操作了,真香!
- GB/T 2423.16电工电子产品环境试验第⒉部分:试验方法试验J及导则:长霉