Virtual Judge POJ 1328 Radar Installation
贪心
#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
struct Radar {
double start,end;
} radar[];
bool cmp(Radar a,Radar b) {
return a.start<b.start;
}
int main() {
int n,d,x,y,m,num,flag;
double l,r;
m = ;
while(scanf("%d%d",&n,&d)) {
if(!n && !d) //如果为0
break;
flag = true;
for(int i = ; i < n; i++) {
scanf("%d%d",&x,&y);
if(y > d)
flag = false;
radar[i].start = x - sqrt(d * d - y * y); //勾股定理
radar[i].end = x + sqrt(d * d - y * y); //区间覆盖范围
}
if(!flag) {
printf("Case %d: -1\n",m++);
continue;
}
sort(radar,radar + n,cmp); //排序 n为岛屿数目
num = ,l = radar[].start,r = radar[].end;//l和r是double l为最左端的区间的左端 r为右端
for(int i = ; i < n; i++) {
if(radar[i].start >= l && radar[i].end <= r) { // 某两块区间存在包含关系
l = radar[i].start;
r = radar[i].end;
} else if(radar[i].start <= r && radar[i].end >= r) //某两个区间交叉
l = radar[i].start;
else if(radar[i].start > r) { //两个区间没有交集
l = radar[i].start;
r = radar[i].end;
num++;
}
}
printf("Case %d: %d\n",m++,num);
}
return ;
}
Virtual Judge POJ 1328 Radar Installation的更多相关文章
- 贪心 POJ 1328 Radar Installation
题目地址:http://poj.org/problem?id=1328 /* 贪心 (转载)题意:有一条海岸线,在海岸线上方是大海,海中有一些岛屿, 这些岛的位置已知,海岸线上有雷达,雷达的覆盖半径知 ...
- POJ 1328 Radar Installation 贪心 A
POJ 1328 Radar Installation https://vjudge.net/problem/POJ-1328 题目: Assume the coasting is an infini ...
- poj 1328 Radar Installation (简单的贪心)
Radar Installation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 42925 Accepted: 94 ...
- poj 1328 Radar Installation(nyoj 287 Radar):贪心
点击打开链接 Radar Installation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 43490 Accep ...
- poj 1328 Radar Installation【贪心区间选点】
Radar Installation Time Limit : 2000/1000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other) ...
- poj 1328 Radar Installation(贪心)
Description Assume the coasting is an infinite straight line. Land is in one side of coasting, sea i ...
- POJ 1328 Radar Installation【贪心】
POJ 1328 题意: 将一条海岸线看成X轴,X轴上面是大海,海上有若干岛屿,给出雷达的覆盖半径和岛屿的位置,要求在海岸线上建雷达,在雷达能够覆盖全部岛屿情况下,求雷达的最少使用量. 分析: 贪心法 ...
- poj 1328 Radar Installation(贪心+快排)
Description Assume the coasting is an infinite straight line. Land is in one side of coasting, sea i ...
- poj 1328 Radar Installation 排序贪心
Radar Installation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 56702 Accepted: 12 ...
随机推荐
- Constructing Roads POJ - 2421 最小生成树板子题
#include<iostream> #include<cstring> #include<algorithm> using namespace std; ; in ...
- 关于IO板的输出(Do的写入)
IO板的输入输出遵循MODBUS协议 1.单个DO开关量寄存器写入-功能码05 例子-打开信道3 01 05 00 02 00 00 CD CA 01 从机地址(由io的配置文件决定) 05 功能码 ...
- phpstorm安装bootstrap插件
一个插件可以很好的让我们工作节约时间 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 We ...
- Quartz.NET常用方法 02
上一篇里介绍了Job和Trigger的常用方法,这一节将介绍Calendar,它的作用是排除特定的日期时间. Calendar的常用类 DailyCalendar 排除每天某个时间段任务的执行 例 ...
- Go-结构体,结构体指针和方法
https://cloud.tencent.com/developer/article/1482382 4.1.结构体 结构体:讲一个或多个变量组合到一起形成新的类型,这个类型就是结构体,结构体是值类 ...
- Nginx 配置Websocket
Nginx反向代理配置websocket nginx.org 官网推荐如下的配置,也可以直接看官网:http://nginx.org/en/docs/http/websocket.html http ...
- 配置hosts快速访问GitHub
经常要clone github中的一些项目,无奈如果不爬梯子的话速度实在是龟速,经常1k/s,于是搜了下解决方法,改HOSTS大法.Windows下在C:/Windows/system32/drive ...
- [TJOI2013] 奖学金 - 堆
按 a 排序,暴力用堆维护两侧预处理, 然后枚举中位数即可 #include <bits/stdc++.h> using namespace std; #define int long l ...
- 解决VMware中Ubuntu18.04全屏问题
在VMware中Ubuntu18.04全屏问题 在虚拟机机中安装完Ubuntu18.04之后界面显示的特别小,默认的好像是800*600分辨率,看着不舒服.先是在设置->设备->显示 ...
- js及jsp.java查错的几种方式
一.js 1.console.log("你想输出的内容"); 2.alert("你想输出的内容"); 3.debugger;(记得打开F12) 4.快速找到js ...