Radar Installation
来源:互联网 发布:js 自定义日期选择器 编辑:程序博客网 时间:2024/04/29 22:07
这个题看起来很吓人,实际上呢,确实很吓人,他的意思是说给你小岛的坐标和岸边上雷达的扫描半径,给你几个小岛,让你求出最少需要多少雷达,如果不可能实现雷达的扫描范围覆盖小岛就输出“-1”,你可以想象一下,当小岛离海岸挺远,雷达半径很近的时候这是不可能的,剩下的就是如何让雷达的数目最小了,别人说是个贪心。。我觉得就是个纯数学问题,你画画图就可以了
#include <iostream>#include <cstring>#include <cmath>#include <cstdio>using namespace std;double x[10000],y[10000],ll[11000],rr[10000];int main(){ int n,d; int count=1; while(cin>>n>>d) { if(n==0&&d==0) break; int flog=1,sum=1; for(int i=0;i<n;i++) { cin>>x[i]>>y[i]; if(y[i]>d) flog=0; } cout<<"Case "<<count; count++; if(flog==0||d==0) { cout<<": -1"<<endl; continue; } int t; for(int i=0;i<n-1;i++) { for(int j=0;j<n-i-1;j++) { if(x[j]>x[j+1]) { t=x[j]; x[j]=x[j+1]; x[j+1]=t; t=y[j]; y[j]=y[j+1]; y[j+1]=t; } } } for (int i=0;i<n;i++) { double s=sqrt(d*d-y[i]*y[i]); ll[i]=x[i]-s; rr[i]=x[i]+s; } double x=rr[0]; for(int i=1;i<n;i++) { if(ll[i]>x) { x=rr[i]; sum++; } if(rr[i]<x) { x=rr[i]; } } cout<<": "<<sum<<endl;; } return 0;}
0 0
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- Radar Installation
- 项目五 输出完数
- 在myeclipse中代码修改不起作用:当在myeclipse中修改处理方法的代码时,重新发布Tomcat,在运行时,jsp页面显示内容没变,还是按修改前的代码执行
- 2014-10深圳全球架构师峰会
- 605662545微信公众号可以做广告了
- 大数的加减乘除(转赵老四)
- Radar Installation
- ural1989(字符串hash+线段树)
- box filtering
- 605662545--win7 64位旗舰版系统的几种必须重装的情况
- 分类器评价指标
- HDU 2813 One fihgt one(KM最大匹配)
- 深圳MPD大会 讲师演讲稿 2014-10
- Unity3d使用json与java服务器通信
- matlab求矩阵的鞍点