#include<bits/stdc++.h>
using namespace std;
int n,d;
struct point{
int l,r;
}a[1010];
bool cmp(point a,point b){
return a.r<b.r;
}
int main(){
cin>>n>>d;
for(int i=0;i<n;i++){
int sx,sy;
cin>>sx>>sy;
if(sy>d){
cout<<"-1";
return 0;
}
a[i].l=sx-sqrt(d*d-sy*sy);
a[i].r=sx+sqrt(d*d-sy*sy);
}
sort(a,a+n,cmp);
int ans=1;
int k=a[0].r;
for(int i=1;i<n;i++){
if(a[i].l>k){
ans++;
k=a[i].r;
}
}
cout<<ans;
return 0;
}
1 个赞
666 你太有实力了。
(我以前这么干过,被老师制裁了)
1 个赞