📄 soj2075时间段贪心.cpp
字号:
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
struct qujian
{
double begin;
double end;
};
bool cmp(qujian a,qujian b)
{
if(a.begin<b.begin)
return true;
return false;
}
int main(void)
{
int n;
int num=1;
qujian point[1000];
int d;
while(scanf("%d%d",&n,&d)&&(n||d))
{
int i;
bool flag=true;
for(i=0;i<n;i++)
{
int x,temp;
scanf("%d%d",&x,&temp);
if(temp>d)
flag=false;
point[i].begin=x-sqrt(d*d-temp*temp);
point[i].end=x+sqrt(d*d-temp*temp);
}
if(!flag)
{
printf("Case %d: -1\n",num++);
continue;
}
sort(point,point+n,cmp);
int result=1;
for (i=1;i<n;i++)
{
if(point[i].begin>point[i-1].end)
result++;
else if(point[i-1].end<point[i].end)
point[i].end=point[i-1].end;
}
printf("Case %d: %d\n",num++,result);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -