POJ1328-Radar Installation
来源:互联网 发布:淘宝海报多少钱一张 编辑:程序博客网 时间:2024/06/16 07:29
这题换一个思路,从每个炮塔在地平线上被雷达覆盖时,有一个雷达可安装的范围区间,如果出现区间重叠说明重叠部分只需要一个雷达。这样一来,就变成区间贪心问题,求最少几个雷达覆盖所有区间。
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>using namespace std;struct node{ double l,r;}a[1010];double x[1010],y[1010];bool cmp(node a,node b){ return a.l<b.l;}int main(){ int n,t=0; double d; while(~scanf("%d %lf",&n,&d)&&n&&d){ bool flag=false; for(int i=0;i<n;i++){ scanf("%lf%lf",&x[i],&y[i]); if(abs(y[i])>d) flag=true; } if(flag||d<0){ printf("Case %d: %d\n",++t,-1); continue; } for(int i=0;i<n;i++){ a[i].l=x[i]-sqrt(d*d-y[i]*y[i]); a[i].r=x[i]+sqrt(d*d-y[i]*y[i]); } sort(a,a+n,cmp); int ans=1,temp=0; for(int i=1;i<n;i++){ if(a[i].l>a[temp].r){ ans++; temp=i; } else if(a[i].r<a[temp].r) temp=i; } printf("Case %d: %d\n",++t,ans); }}
0 0
- POJ1328 Radar Installation
- POJ1328 Radar Installation 贪心
- POJ1328----Radar Installation
- POJ1328:Radar Installation
- poj1328 Radar Installation
- poj1328--Radar Installation
- poj1328 Radar Installation
- POJ1328 Radar Installation
- POJ1328 &AOJ195 Radar Installation
- POJ1328 Radar Installation 贪心
- 【贪心】POJ1328 Radar Installation
- poj1328 Radar Installation 贪心
- poj1328--Radar Installation
- POJ1328-Radar Installation
- POJ1328 radar installation (Greedy)
- poj1328--Radar Installation
- 【POJ1328】Radar Installation 贪心
- POJ1328 Radar Installation 贪心
- C++类内存分布
- 欢迎使用CSDN-markdown编辑器
- Android init进程——属性服务
- 礼券收集者问题
- 堆(堆排序)
- POJ1328-Radar Installation
- hdu 1007(分治法应用)
- 快速排序
- CentOS 7安装LAMP环境
- 安卓学习笔记07——使用pull解析xml文件
- TCP 与 UDP 运用
- 基本的数据结构
- Fiddler是最强大最好用的Web调试工具之一--网站抓包分析
- 【矩阵快速幂】HDU 4549 : M斐波那契数列(矩阵嵌套)