1328

来源:互联网 发布:seo排名优化是什么意思 编辑:程序博客网 时间:2024/06/05 11:45
#include<iostream>#include<cmath>using namespace std;float min(float a,float b){return a<b?a:b;}int main(){int n,d;float a[1001][3];float dis[1001][3];int cs=0;cin>>n>>d;while(n!=0){cs++;if(d<=0){cout<<"Case"<<cs<<": "<<-1<<endl;cin>>n>>d;continue;}int i,j;for(i=1;i<=n;i++){cin>>a[i][1]>>a[i][2];}//计算每个岛能接受雷达的范围bool b=false;for(i=1;i<=n;i++){if(fabs(d)<fabs(a[i][2])){cout<<"Case"<<cs<<": "<<-1<<endl;b=true;break;}dis[i][1]=a[i][1]-sqrt(pow(d,2)-pow(a[i][2],2));dis[i][2]=a[i][1]+sqrt(pow(d,2)-pow(a[i][2],2));}if(b){cin>>n>>d;continue;}//对每一个范围按照从左到右的顺序排序for(i=1;i<=n;i++){for(j=i+1;j<=n;j++){if(dis[j][1]<dis[i][1]){float temp1,temp2;temp1=dis[i][1];temp2=dis[i][2];dis[i][1]=dis[j][1];dis[i][2]=dis[j][2];dis[j][1]=temp1;dis[j][2]=temp2;}}}int sum=1;float left=dis[1][1];float right=dis[1][2];for(i=2;i<=n;i++){if(right<dis[i][1]){sum++;left=dis[i][1];right=dis[i][2];}else{left=dis[i][1];right=min(dis[i][2],right);}}cout<<"Case "<<cs<<": "<<sum<<endl;cin>>n>>d;}return 0;}

原创粉丝点击