1 #include<stdio.h> 2 #include<math.h> 3 #include<algorithm> 4 using namespace std; 5 struct Node{ 6 double s,e; 7 }; 8 int n,d,k; 9 Node area[1010]; 10 int cmp(Node a,Node b){ 11 return a.e<b.e; 12 } 13 int change(int x,int y){ 14 if(y>d)return 0; 15 double a,b,m=sqrt(d*d-y*y); 16 a=x-m;b=x+m; 17 area[k].s=a;area[k].e=b;k++; 18 return 1; 19 } 20 int main(){int t,x,y,flot,temp,num,l=0; 21 while(scanf("%d%d",&n,&d),n||d){k=0;flot=1;temp=0;num=1;l++; 22 for(int i=0;i<n;i++){ 23 scanf("%d%d",&x,&y); 24 t=change(x,y); 25 if(!t)flot=0; 26 } 27 sort(area,area+k,cmp); 28 for(int i=0;i<k;i++){ 29 if(area[i].s>area[temp].e)temp=i,num++; 30 } 31 printf("Case %d: %d\n",l,num); 32 } 33 return 0; 34 }
Radar Installation(贪心,可以转化为今年暑假不ac类型)
原文:http://www.cnblogs.com/handsomecui/p/4693087.html