#include<iostream>
#include<cstdio>
#include<cstring>
#include<math.h>
#include<algorithm>
using namespace std;
struct node
{
double s,e;
};
node ro[20009];
bool cmp(node x,node y)
{
return x.s<y.s;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int cnt=0;
double a,b;
int n;
double x,r;
scanf("%d%lf%lf",&n,&a,&b);
for(int i=1;i<=n;i++)
{
scanf("%lf%lf",&x,&r);
if(2*r>b)
{
cnt++;
ro[cnt].s=x-sqrt(r*r-b*b/4);
ro[cnt].e=x+sqrt(r*r-b*b/4);
}
}
sort(ro+1,ro+1+cnt,cmp);
double t=0;
int i=1;
int flag=1;
int ans=0;
while(t<a)
{
ans++;
double s=t;
while(ro[i].s<=s&&i<=cnt)
{
t=max(ro[i].e,t);
i++;
}
if(t==s&&s<a)
{
cout<<0<<endl;//一本通的题目上这里有问题。
flag=0;
break;
}
}
if(flag==1)cout<<ans<<endl;
}
return 0;
}
1424:【例题3】喷水装置
最新推荐文章于 2025-05-06 16:52:05 发布