# include <stdio.h>
# include <algorithm>
# include <string.h>
# include <math.h>
using namespace std;
struct point
{
double left,right;
}p[2010],temp;
bool cmp(point a,point b)
{
return a.left<b.left;
}
int main()
{
int n,i,count,flag,cas=0;
double r,a,b;
while(~scanf("%d%lf",&n,&r),n+r)
{
flag=0;
for(i=0;i<n;i++)
{
scanf("%lf %lf",&a,&b);
if(fabs(b)>r)
flag=true;
else
{
p[i].left=a*1.0-sqrt(r*r-b*b);
p[i].right=a*1.0+sqrt(r*r-b*b);
}
}
printf("Case %d: ",++cas);
if(flag)
printf("-1\n");
else
{
sort(p,p+n,cmp);
count=1;
temp=p[0];
for(i=1;i<n;i++)
{
if(p[i].left>temp.right)
{
count++;
temp=p[i];
}
else if(p[i].right<temp.right)//
temp=p[i];
}
printf("%d\n",count);
}
}
return 0;
}
poj 1328 Radar Installation (贪心)
最新推荐文章于 2025-03-30 11:00:00 发布