POJ 1328 Radar Installation
来源:互联网 发布:arm编程论文 编辑:程序博客网 时间:2024/06/05 18:12
原题链接
思路:贪心。第一个卫星的位置在s1和e1之间,若s2<=e1则不需要新卫星,第一个卫星位置更新为s2和e2之间;若s2>e1则需要新卫星,第二个卫星位置在s2和e2之间。以此类推。
AC代码:
#include <iostream>#include <cstdio> #include <algorithm>#include <cstdlib>#include <cstring>#include <cmath>using namespace std;typedef pair<double,double> PII;int n,i,ans;double x,y,d,flag;PII radar[1005];bool cmp(PII a,PII b){ return a.first<b.first;}int main(){ int k=0; while(scanf("%d %lf",&n,&d) && !(n==0 && d==0)){ k++; ans=1; flag=0; for(i=0;i<n;i++){ scanf("%lf %lf",&x,&y); if(d<0 || y>d){ flag=1; } radar[i].first=x-sqrt(d*d-y*y); radar[i].second=x+sqrt(d*d-y*y); } if(flag){ printf("Case %d: -1\n",k); continue; } sort(radar,radar+n,cmp); flag=radar[0].second; for(i=1;i<n;i++){ PII p=radar[i]; if(flag<p.first){ flag=p.second; ans++; } else if(flag>p.second) flag=p.second; } printf("Case %d: %d\n",k,ans); } return 0;}
1 0
- POJ 1328 "Radar Installation"
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- 1328 poj Radar Installation
- poj 1328 Radar Installation
- POJ 1328 Radar Installation
- poj 1328 Radar Installation
- poj 1328 Radar Installation
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- POJ 1328 Radar Installation
- poj 1328 Radar Installation
- POJ-1328-Radar Installation
- poj 1328 Radar Installation
- POJ 1328 Radar Installation
- USACO-Stringsobits(动归求组合数 )
- 推荐《Clean Code》一书,让你成为优秀的程序员
- 学习之法 —— 如何阅读代码、如何编写代码
- 引言
- “\”与“/”斜杠与反斜杠的区别
- POJ 1328 Radar Installation
- PagerFragmentAdapter中Fragment的懒加载问题
- 中国什么主义
- MyEclipse查看jar包源代码乱码问题解决
- FMDB的基本使用
- Spring IOC原理
- Person p = new Person()都做了些什么动作
- 中央集权与区域制衡
- Maven-镜像地址