aa

来源:互联网 发布:什么是淘宝店铺的域名 编辑:程序博客网 时间:2024/04/29 01:02
pan.baidu.com/s/1sl1Vy6T 8qpi#include<iostream>#include<math.h>using namespace std;double Cope(int num,int w,int h){if(2*num<=h) return 0.0;else return sqrt(double(num*num-h*h/4));}int sort(double **a,double **b,int num,bool *visit){double temp1=0,temp2=0;int result=num;bool tag=false;for(int i=0;i<num;i++){for(int j=num-2;j>=i;j--){if(a[j+1][0]<a[j][0]){temp1=a[j+1][0];temp2=a[j+1][1];a[j+1][0]=a[j][0];a[j+1][1]=a[j][1];a[j][0]=temp1;a[j][1]=temp2;}}}int ii=0,kk=1;while(ii<num){kk=1;while(ii+kk<num){if(a[ii][0]==a[ii+kk][0]&&!visit[ii]){if(a[ii][1]>=a[ii+kk][1]){result--;visit[ii+kk]=true;}else{result--;visit[ii]=true;}}else if(a[ii][1]>=a[ii+kk][1]&&!visit[ii+kk]){result--;visit[ii+kk]=true;}kk++;}ii++;}kk=0;for(int i=0;i<num;i++)//~{if(!visit[i]){b[kk][0]=a[i][0];b[kk][1]=a[i][1];kk++;}}for(int k=1;k<result;k++){int j=0;for(j=0;j<result;j++){if(b[k][0]<=b[j][1]&&b[j][1]<=b[k][1]&&j!=k){break;}j++;}if(j==result){tag=true;break;}}if(tag){return 0;}return result;}int main(){int n=0,m=0;cin>>n;int *a=new int[n];int *w=new int[n];int *h=new int[n];int *r=NULL;int *x=NULL;bool *visit=NULL;double **lr=NULL;double l=0;for(int i=0;i<n;i++){cin>>a[i]>>w[i]>>h[i];lr=new double*[a[i]];r=new int[a[i]];x=new int[a[i]];visit=new bool[a[i]];for(int j=0;j<a[i];j++){cin>>x[j];cin>>r[j];visit[j]=false;lr[j]=new double[2];l=Cope(r[j],w[i],h[i]);lr[j][0]=x[j]-l>=0?x[j]-l:0;lr[j][1]=x[j]+l<=w[i]?x[j]+l:w[i];}m=sort(lr,lr,a[i],visit);cout<<m<<endl;}delete[]a;delete[]w;delete[]h;delete[]lr;delete[]visit;delete[]x;delete[]r;return 0;}

0 0
原创粉丝点击