# include<stdio.h>
# include<math.h>
# include<algorithm>
using namespace std;
struct point
{
double left;
double right;
}s[1005];
bool cmp(point x,point y)
{
if(x.right==y.right)
{
return x.left>y.left;
}
else
return x.right<y.right;
}
int main()
{
int n,m,i,count,t=0;
double x,y,k,end;
while(scanf("%d%d",&n,&m)&&n&&m)
{
for(i=0;i<n;i++)
{
scanf("%lf%lf",&x,&y);
k=sqrt(m*m-y*y);
s[i].left=x-k;
s[i].right=x+k;
}
sort(s,s+n,cmp);
end=s[0].right;
count=1;
t++;
for(i=1;i<n;i++)
{
if(end<s[i].left)
{
count++;
end=s[i].right;
}
}
printf("Case %d: %d\n",t,count);
}
return 0;
}
贪心之区间选点
最新推荐文章于 2020-04-16 15:16:29 发布