Radar Installation

 1 #include<cstdio>

 2 #include<cstdlib>

 3 #include<cstring>

 4 #include<algorithm>

 5 #include<math.h>

 6 

 7 const  int MAXN=10000;

 8 using namespace std;

 9 struct node

10 {

11     double x1,x2;

12 } p[MAXN];

13 bool cmp(node a,node b)

14 {

15    return a.x2<b.x2;

16 }

17 int main()

18 {

19     int n,m,ii=0;

20     double x,y;

21     while(scanf("%d%d",&n,&m))

22     {

23         ii++;

24         if(n==0&&m==0) break;

25         int flag=0;

26         for(int i=0; i<n; i++)

27         {

28             scanf("%lf%lf",&x,&y);

29             if(fabs(y)>m) flag=1;

30             double c=sqrt(m*m-y*y);

31             p[i].x1=x+c;

32             p[i].x2=x-c;

33         }

34         if(flag==1)

35         {

36             printf("Case %d: %d\n",ii,-1);

37             continue;

38         }

39         sort(p,p+n,cmp);

40         double c=p[0].x1;

41         int t=1;

42         for(int i=1; i<n; i++)

43         {

44             if(p[i].x1<c)

45             {

46                 c=p[i].x1;

47             }

48             else if(p[i].x2>c)

49             {

50                 t++;

51                 c=p[i].x1;

52             }

53         }

54         printf("Case %d: %d\n",ii,t);

55     }

56     return 0;

57 }
View Code

 

你可能感兴趣的:(Install)