题意:假设海岸线是一条无限延伸的直线。陆地在海岸线的一侧,而海洋在另一侧。
题意:每一个小的岛屿是海洋上的一个点。雷达坐落于海岸线上,只能覆盖d距离,
题意:所以如果小岛能够被覆盖到的话,它们之间的距离最多为d。
题意:求出能够覆盖给出的所有岛屿的最少雷达数目。
分析:假设点A为某岛屿,求出在x轴上放雷达能覆盖A的圆心所在范围。如图,圆心在[L,R]之间
分析:就将问题转换为了贪心区间问题。
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#include<math.h>
using namespace std;
#define N 1005
struct Point{int x,y;}p[N];
struct C{
double r,l;
bool operator < (const C t)const{
return l<t.l;
}
}ro[N];
int main(){
int n,d,ncase=0;
while(scanf("%d%d",&n,&d)!=EOF,n){
for