F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

View Compilation Error

0_0_20612664_30271.cpp:7:25: error: stray '#' in program
     using namespace std;#define left Left#define right Right#define eps 1e-8#define maxn 60000double x[maxn],y[maxn],r[maxn];int left[maxn],right[maxn],up[maxn],rank_up[maxn];int n;set<int> my_set;double mid;bool cmp_left(const int &a,const int &b){    return x[a]-r[a] < x[b]-r[b];}bool cmp_right(const int &a,const int &b){    return x[a]+r[a] < x[b]+r[b];}bool cmp_up(const int &a,const int &b){    if(y[a]==y[b])    return  x[a] < x[b];    else return y[a] < y[b];}double my_sqr(double a){    return a*a;}bool is_cross(int a,int b){    a=up[a],b=up[b];    double t1,t2;    t1=my_sqr(x[a]-x[b])+my_sqr(y[a]-y[b]),t2=my_sqr(r[a]+r[b]+mid+mid);    if(t1<=t2)    return true;    return false;}bool insert(int a){    set<int>::iterator it=my_set.insert(a).first;    if(it!=my_set.begin())    {        if(is_cross(a,*--it))        return true;        it++;    }    if(++it!=my_set.end())    {        if(is_cross(a,*it))        return true;    }    return false;}bool is_ok(){    my_set.clear();    int i=0,j=0;    while(i<n || j<n)    {        if(j==n ||(i!=n && x[left[i]]-r[left[i]]-mid<x[right[j]]+r[right[j]]+mid))        {               if(insert(rank_up[left[i++]]))                return true;        }        else        my_set.erase(rank_up[right[j++]]);    }    return false;}double find_ans(){    double l=0,ri=sqrt(my_sqr(x[0]-x[1])+my_sqr(y[0]-y[1]))-r[0]-r[1];    while(l+eps<ri)    {        mid=(l+ri)/2;        if(is_ok())        ri=mid;        else        l=mid;    }    printf("%.6lf\n",l+ri);    return 0;}int main(){    int t,i,j,k;    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        for(i=0;i<n;i++)        scanf("%lf%lf%lf",&x[i],&y[i],&r[i]);        for(i=0;i<n;i++)        {            left[i]=i;            right[i]=i;            up[i]=i;        }        sort(left,left+n,cmp_left);        sort(right,right+n,cmp_right);        sort(up,up+n,cmp_up);        for(i=0;i<n;i++)        rank_up[up[i]]=i;        find_ans();    }    return 0;}
                         ^
0_0_20612664_30271.cpp:7:42: error: stray '#' in program
     using namespace std;#define left Left#define right Right#define eps 1e-8#define maxn 60000double x[maxn],y[maxn],r[maxn];int left[maxn],right[maxn],up[maxn],rank_up[maxn];int n;set<int> my_set;double mid;bool cmp_left(const int &a,const int &b){    return x[a]-r[a] < x[b]-r[b];}bool cmp_right(const int &a,const int &b){    return x[a]+r[a] < x[b]+r[b];}bool cmp_up(const int &a,const int &b){    if(y[a]==y[b])    return  x[a] < x[b];    else return y[a] < y[b];}double my_sqr(double a){    return a*a;}bool is_cross(int a,int b){    a=up[a],b=up[b];    double t1,t2;    t1=my_sqr(x[a]-x[b])+my_sqr(y[a]-y[b]),t2=my_sqr(r[a]+r[b]+mid+mid);    if(t1<=t2)    return true;    return false;}bool insert(int a){    set<int>::iterator it=my_set.insert(a).first;    if(it!=my_set.begin())    {        if(is_cross(a,*--it))        return true;        it++;    }    if(++it!=my_set.end())    {        if(is_cross(a,*it))        return true;    }    return false;}bool is_ok(){    my_set.clear();    int i=0,j=0;    while(i<n || j<n)    {        if(j==n ||(i!=n && x[left[i]]-r[left[i]]-mid<x[right[j]]+r[right[j]]+mid))        {               if(insert(rank_up[left[i++]]))                return true;        }        else        my_set.erase(rank_up[right[j++]]);    }    return false;}double find_ans(){    double l=0,ri=sqrt(my_sqr(x[0]-x[1])+my_sqr(y[0]-y[1]))-r[0]-r[1];    while(l+eps<ri)    {        mid=(l+ri)/2;        if(is_ok())        ri=mid;        else        l=mid;    }    printf("%.6lf\n",l+ri);    return 0;}int main(){    int t,i,j,k;    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        for(i=0;i<n;i++)        scanf("%lf%lf%lf",&x[i],&y[i],&r[i]);        for(i=0;i<n;i++)        {            left[i]=i;            right[i]=i;            up[i]=i;        }        sort(left,left+n,cmp_left);        sort(right,right+n,cmp_right);        sort(up,up+n,cmp_up);        for(i=0;i<n;i++)        rank_up[up[i]]=i;        find_ans();    }    return 0;}
                                          ^
0_0_20612664_30271.cpp:7:61: error: stray '#' in program
     using namespace std;#define left Left#define right Right#define eps 1e-8#define maxn 60000double x[maxn],y[maxn],r[maxn];int left[maxn],right[maxn],up[maxn],rank_up[maxn];int n;set<int> my_set;double mid;bool cmp_left(const int &a,const int &b){    return x[a]-r[a] < x[b]-r[b];}bool cmp_right(const int &a,const int &b){    return x[a]+r[a] < x[b]+r[b];}bool cmp_up(const int &a,const int &b){    if(y[a]==y[b])    return  x[a] < x[b];    else return y[a] < y[b];}double my_sqr(double a){    return a*a;}bool is_cross(int a,int b){    a=up[a],b=up[b];    double t1,t2;    t1=my_sqr(x[a]-x[b])+my_sqr(y[a]-y[b]),t2=my_sqr(r[a]+r[b]+mid+mid);    if(t1<=t2)    return true;    return false;}bool insert(int a){    set<int>::iterator it=my_set.insert(a).first;    if(it!=my_set.begin())    {        if(is_cross(a,*--it))        return true;        it++;    }    if(++it!=my_set.end())    {        if(is_cross(a,*it))        return true;    }    return false;}bool is_ok(){    my_set.clear();    int i=0,j=0;    while(i<n || j<n)    {        if(j==n ||(i!=n && x[left[i]]-r[left[i]]-mid<x[right[j]]+r[right[j]]+mid))        {               if(insert(rank_up[left[i++]]))                return true;        }        else        my_set.erase(rank_up[right[j++]]);    }    return false;}double find_ans(){    double l=0,ri=sqrt(my_sqr(x[0]-x[1])+my_sqr(y[0]-y[1]))-r[0]-r[1];    while(l+eps<ri)    {        mid=(l+ri)/2;        if(is_ok())        ri=mid;        else        l=mid;    }    printf("%.6lf\n",l+ri);    return 0;}int main(){    int t,i,j,k;    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        for(i=0;i<n;i++)        scanf("%lf%lf%lf",&x[i],&y[i],&r[i]);        for(i=0;i<n;i++)        {            left[i]=i;            right[i]=i;            up[i]=i;        }        sort(left,left+n,cmp_left);        sort(right,right+n,cmp_right);        sort(up,up+n,cmp_up);        for(i=0;i<n;i++)        rank_up[up[i]]=i;        find_ans();    }    return 0;}
                                                             ^
0_0_20612664_30271.cpp:7:77: error: stray '#' in program
     using namespace std;#define left Left#define right Right#define eps 1e-8#define maxn 60000double x[maxn],y[maxn],r[maxn];int left[maxn],right[maxn],up[maxn],rank_up[maxn];int n;set<int> my_set;double mid;bool cmp_left(const int &a,const int &b){    return x[a]-r[a] < x[b]-r[b];}bool cmp_right(const int &a,const int &b){    return x[a]+r[a] < x[b]+r[b];}bool cmp_up(const int &a,const int &b){    if(y[a]==y[b])    return  x[a] < x[b];    else return y[a] < y[b];}double my_sqr(double a){    return a*a;}bool is_cross(int a,int b){    a=up[a],b=up[b];    double t1,t2;    t1=my_sqr(x[a]-x[b])+my_sqr(y[a]-y[b]),t2=my_sqr(r[a]+r[b]+mid+mid);    if(t1<=t2)    return true;    return false;}bool insert(int a){    set<int>::iterator it=my_set.insert(a).first;    if(it!=my_set.begin())    {        if(is_cross(a,*--it))        return true;        it++;    }    if(++it!=my_set.end())    {        if(is_cross(a,*it))        return true;    }    return false;}bool is_ok(){    my_set.clear();    int i=0,j=0;    while(i<n || j<n)    {        if(j==n ||(i!=n && x[left[i]]-r[left[i]]-mid<x[right[j]]+r[right[j]]+mid))        {               if(insert(rank_up[left[i++]]))                return true;        }        else        my_set.erase(rank_up[right[j++]]);    }    return false;}double find_ans(){    double l=0,ri=sqrt(my_sqr(x[0]-x[1])+my_sqr(y[0]-y[1]))-r[0]-r[1];    while(l+eps<ri)    {        mid=(l+ri)/2;        if(is_ok())        ri=mid;        else        l=mid;    }    printf("%.6lf\n",l+ri);    return 0;}int main(){    int t,i,j,k;    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        for(i=0;i<n;i++)        scanf("%lf%lf%lf",&x[i],&y[i],&r[i]);        for(i=0;i<n;i++)        {            left[i]=i;            right[i]=i;            up[i]=i;        }        sort(left,left+n,cmp_left);        sort(right,right+n,cmp_right);        sort(up,up+n,cmp_up);        for(i=0;i<n;i++)        rank_up[up[i]]=i;        find_ans();    }    return 0;}
                                                                             ^
0_0_20612664_30271.cpp:7:26: error: 'define' does not name a type
     using namespace std;#define left Left#define right Right#define eps 1e-8#define maxn 60000double x[maxn],y[maxn],r[maxn];int left[maxn],right[maxn],up[maxn],rank_up[maxn];int n;set<int> my_set;double mid;bool cmp_left(const int &a,const int &b){    return x[a]-r[a] < x[b]-r[b];}bool cmp_right(const int &a,const int &b){    return x[a]+r[a] < x[b]+r[b];}bool cmp_up(const int &a,const int &b){    if(y[a]==y[b])    return  x[a] < x[b];    else return y[a] < y[b];}double my_sqr(double a){    return a*a;}bool is_cross(int a,int b){    a=up[a],b=up[b];    double t1,t2;    t1=my_sqr(x[a]-x[b])+my_sqr(y[a]-y[b]),t2=my_sqr(r[a]+r[b]+mid+mid);    if(t1<=t2)    return true;    return false;}bool insert(int a){    set<int>::iterator it=my_set.insert(a).first;    if(it!=my_set.begin())    {        if(is_cross(a,*--it))        return true;        it++;    }    if(++it!=my_set.end())    {        if(is_cross(a,*it))        return true;    }    return false;}bool is_ok(){    my_set.clear();    int i=0,j=0;    while(i<n || j<n)    {        if(j==n ||(i!=n && x[left[i]]-r[left[i]]-mid<x[right[j]]+r[right[j]]+mid))        {               if(insert(rank_up[left[i++]]))                return true;        }        else        my_set.erase(rank_up[right[j++]]);    }    return false;}double find_ans(){    double l=0,ri=sqrt(my_sqr(x[0]-x[1])+my_sqr(y[0]-y[1]))-r[0]-r[1];    while(l+eps<ri)    {        mid=(l+ri)/2;        if(is_ok())        ri=mid;        else        l=mid;    }    printf("%.6lf\n",l+ri);    return 0;}int main(){    int t,i,j,k;    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        for(i=0;i<n;i++)        scanf("%lf%lf%lf",&x[i],&y[i],&r[i]);        for(i=0;i<n;i++)        {            left[i]=i;            right[i]=i;         


Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-07-03 18:29:58, Gzip enabled