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_20612991_31015.cpp:6:21: error: stray '#' in program
     #define eps 1e-8#define inf 999999999#define N 10100#define pi acos(-1.0)using namespace std;int Sig(double a){    return a<-eps?-1:a>
                     ^
0_0_20612991_31015.cpp:7:5: note: in expansion of macro 'eps'
     eps;}struct Point{    double x,y;    Point(){}    Point(double x0,double y0):x(x0),y(y0){}    void in()    {        scanf("%lf%lf",&x,&y);    }    double len()    {        return sqrt(x*x+y*y);    }    double operator ^(Point pt)    {        return pt.x*x+pt.y*y;    }    Point operator -(Point pt)    {        return Point(x-pt.x,y-pt.y);    }    Point operator +(Point pt)    {        return Point(x+pt.x,y+pt.y);    }    Point operator *(double t)    {        return Point(x*t,y*t);    }    Point operator /(double t)    {        return Point(x/t,y/t);    }};struct Polygon{    Point p[220];    int n;    void in()    {        for(int i=0;i<n;i++)            p[i].in();    }};double Xmult(Point o,Point a,Point b){    return (a.x-o.x)*(b.y-o.y)-(b.x-o.x)*(a.y-o.y);}double Dis(Point a,Point b){    return (a-b).len();}int con[300];int cn;//铆1掳眉渭Ķ锟ノã锚yPoint po;int cmp(Point a,Point b){    double d=Xmult(po,a,b);    if(d>0)        return 1;    if(d==0 && Dis(a,po)<Dis(b,po))        return 1;    return 0;}void Graham(Point p[],int &n){    int i,ind=0;    for(i=1;i<n;i++)        if(p[ind].y>p[i].y || (p[ind].y==p[i].y && p[ind].x>p[i].x))            ind=i;    swap(p[ind],p[0]);    po=p[0];    sort(p+1,p+n,cmp);    con[0]=0;    con[1]=1;    cn=1;    for(i=2;i<n;i++)    {        while(cn>0 && Sig(Xmult(p[con[cn-1]],p[con[cn]],p[i]))<=0)            cn--;        con[++cn]=i;    }     int tmp=cn;    for(i=n-2;i>=0;i--)    {        while(cn>tmp && Sig(Xmult(p[con[cn-1]],p[con[cn]],p[i]))<=0)            cn--;        con[++cn]=i;//p[cn]==p[0];    }    Point pt[210];    for(int i=0;i<cn;i++)        pt[i]=p[con[i]];    for(int i=0;i<cn;i++)        p[i]=pt[i];    n=cn;}Point Intersection(Point u1,Point u2,Point v1,Point v2){    Point ret=u1;    double t=((u1.x-v1.x)*(v1.y-v2.y)-(u1.y-v1.y)*(v1.x-v2.x))/             ((u1.x-u2.x)*(v1.y-v2.y)-(u1.y-u2.y)*(v1.x-v2.x));    ret.x+=(u2.x-u1.x)*t;    ret.y+=(u2.y-u1.y)*t;    return ret;}double Area(Point p[],int n){    double s=0;    for(int i=0;i<n;i++)        s+=Xmult(Point(0,0),p[i],p[(i+1)%n]);    return fabs(s)*0.5;}double Get_inter(Polygon p1,Polygon p2){    Polygon tmp,newp;    newp=p2;    for(int i=0;i<p1.n;i++)    {        Point a=p1.p[i];        Point b=p1.p[(i+1)%p1.n];        tmp.n=0;        for(int j=0;j<newp.n;j++)        {            int r1=Sig(Xmult(a,b,newp.p[j]));            int r2=Sig(Xmult(a,b,newp.p[(j+1)%newp.n]));            if(r1>=0)                tmp.p[tmp.n++]=newp.p[j];            if(r1*r2<0)            {                Point pp=Intersection(a,b,newp.p[j],newp.p[(j+1)%newp.n]);                tmp.p[tmp.n++]=pp;            }        }        newp=tmp;    }    return Area(newp.p,newp.n);}double Work(Polygon p1,Polygon p2,Point v,double ks,double all){    Polygon tmp;    double left=0,right=inf;    double mid;    while(right-left>eps)    {        mid=(left+right)*0.5;        tmp=p1;        for(int i=0;i<tmp.n;i++)            tmp.p[tmp.n+i]=tmp.p[i]+v*mid;        tmp.n*=2;        Graham(tmp.p,tmp.n);        double s=Get_inter(tmp,p2);        if(Sig(all-s-ks)<=0)            right=mid-eps;        else            left=mid+eps;    }    return left;}int main(){    Polygon p1,p2;    Point v;    double k,ange;    while(scanf("%d",&p2.n)!=EOF)    {        p2.in();        scanf("%d",&p1.n);        p1.in();        scanf("%lf%lf",&ange,&k);        ange=ange/360*2*pi;        v=Point(cos(ange),sin(ange));        v=v/v.len();        double s=Area(p2.p,p2.n);        Polygon tmp=p1;        for(int i=0;i<tmp.n;i++)        {            tmp.p[tmp.n+i]=tmp.p[i]+v*inf;        }        tmp.n*=2;        Graham(tmp.p,tmp.n);        double s1=s-Get_inter(p1,p2);        double s2=s-Get_inter(tmp,p2);        if(Sig(s1-s*k)<0 || Sig(s2-s*k)>0)        {            printf("-1\n");            continue;        }        printf("%.4f\n",Work(p1,p2,v,k*s,s));    }    return 0;}
     ^
0_0_20612991_31015.cpp:6:42: error: stray '#' in program
     #define eps 1e-8#define inf 999999999#define N 10100#define pi acos(-1.0)using namespace std;int Sig(double a){    return a<-eps?-1:a>
                                          ^
0_0_20612991_31015.cpp:7:5: note: in expansion of macro 'eps'
     eps;}struct Point{    double x,y;    Point(){}    Point(double x0,double y0):x(x0),y(y0){}    void in()    {        scanf("%lf%lf",&x,&y);    }    double len()    {        return sqrt(x*x+y*y);    }    double operator ^(Point pt)    {        return pt.x*x+pt.y*y;    }    Point operator -(Point pt)    {        return Point(x-pt.x,y-pt.y);    }    Point operator +(Point pt)    {        return Point(x+pt.x,y+pt.y);    }    Point operator *(double t)    {        return Point(x*t,y*t);    }    Point operator /(double t)    {        return Point(x/t,y/t);    }};struct Polygon{    Point p[220];    int n;    void in()    {        for(int i=0;i<n;i++)            p[i].in();    }};double Xmult(Point o,Point a,Point b){    return (a.x-o.x)*(b.y-o.y)-(b.x-o.x)*(a.y-o.y);}double Dis(Point a,Point b){    return (a-b).len();}int con[300];int cn;//铆1掳眉渭Ķ锟ノã锚yPoint po;int cmp(Point a,Point b){    double d=Xmult(po,a,b);    if(d>0)        return 1;    if(d==0 && Dis(a,po)<Dis(b,po))        return 1;    return 0;}void Graham(Point p[],int &n){    int i,ind=0;    for(i=1;i<n;i++)        if(p[ind].y>p[i].y || (p[ind].y==p[i].y && p[ind].x>p[i].x))            ind=i;    swap(p[ind],p[0]);    po=p[0];    sort(p+1,p+n,cmp);    con[0]=0;    con[1]=1;    cn=1;    for(i=2;i<n;i++)    {        while(cn>0 && Sig(Xmult(p[con[cn-1]],p[con[cn]],p[i]))<=0)            cn--;        con[++cn]=i;    }     int tmp=cn;    for(i=n-2;i>=0;i--)    {        while(cn>tmp && Sig(Xmult(p[con[cn-1]],p[con[cn]],p[i]))<=0)            cn--;        con[++cn]=i;//p[cn]==p[0];    }    Point pt[210];    for(int i=0;i<cn;i++)        pt[i]=p[con[i]];    for(int i=0;i<cn;i++)        p[i]=pt[i];    n=cn;}Point Intersection(Point u1,Point u2,Point v1,Point v2){    Point ret=u1;    double t=((u1.x-v1.x)*(v1.y-v2.y)-(u1.y-v1.y)*(v1.x-v2.x))/             ((u1.x-u2.x)*(v1.y-v2.y)-(u1.y-u2.y)*(v1.x-v2.x));    ret.x+=(u2.x-u1.x)*t;    ret.y+=(u2.y-u1.y)*t;    return ret;}double Area(Point p[],int n){    double s=0;    for(int i=0;i<n;i++)        s+=Xmult(Point(0,0),p[i],p[(i+1)%n]);    return fabs(s)*0.5;}double Get_inter(Polygon p1,Polygon p2){    Polygon tmp,newp;    newp=p2;    for(int i=0;i<p1.n;i++)    {        Point a=p1.p[i];        Point b=p1.p[(i+1)%p1.n];        tmp.n=0;        for(int j=0;j<newp.n;j++)        {            int r1=Sig(Xmult(a,b,newp.p[j]));            int r2=Sig(Xmult(a,b,newp.p[(j+1)%newp.n]));            if(r1>=0)                tmp.p[tmp.n++]=newp.p[j];            if(r1*r2<0)            {                Point pp=Intersection(a,b,newp.p[j],newp.p[(j+1)%newp.n]);                tmp.p[tmp.n++]=pp;            }        }        newp=tmp;    }    return Area(newp.p,newp.n);}double Work(Polygon p1,Polygon p2,Point v,double ks,double all){    Polygon tmp;    double left=0,right=inf;    double mid;    while(right-left>eps)    {        mid=(left+right)*0.5;        tmp=p1;        for(int i=0;i<tmp.n;i++)            tmp.p[tmp.n+i]=tmp.p[i]+v*mid;        tmp.n*=2;        Graham(tmp.p,tmp.n);        double s=Get_inter(tmp,p2);        if(Sig(all-s-ks)<=0)            right=mid-eps;        else            left=mid+eps;    }    return left;}int main(){    Polygon p1,p2;    Point v;    double k,ange;    while(scanf("%d",&p2.n)!=EOF)    {        p2.in();        scanf("%d",&p1.n);        p1.in();        scanf("%lf%lf",&ange,&k);        ange=ange/360*2*pi;        v=Point(cos(ange),sin(ange));        v=v/v.len();        double s=Area(p2.p,p2.n);        Polygon tmp=p1;        for(int i=0;i<tmp.n;i++)        {            tmp.p[tmp.n+i]=tmp.p[i]+v*inf;        }        tmp.n*=2;        Graham(tmp.p,tmp.n);        double s1=s-Get_inter(p1,p2);        double s2=s-Get_inter(tmp,p2);        if(Sig(s1-s*k)<0 || Sig(s2-s*k)>0)        {            printf("-1\n");            continue;        }        printf("%.4f\n",Work(p1,p2,v,k*s,s));    }    return 0;}
     ^
0_0_20612991_31015.cpp:6:57: error: stray '#' in program
     #define eps 1e-8#define inf 999999999#define N 10100#define pi acos(-1.0)using namespace std;int Sig(double a){    return a<-eps?-1:a>
                                                         ^
0_0_20612991_31015.cpp:7:5: note: in expansion of macro 'eps'
     eps;}struct Point{    double x,y;    Point(){}    Point(double x0,double y0):x(x0),y(y0){}    void in()    {        scanf("%lf%lf",&x,&y);    }    double len()    {        return sqrt(x*x+y*y);    }    double operator ^(Point pt)    {        return pt.x*x+pt.y*y;    }    Point operator -(Point pt)    {        return Point(x-pt.x,y-pt.y);    }    Point operator +(Point pt)    {        return Point(x+pt.x,y+pt.y);    }    Point operator *(double t)    {        return Point(x*t,y*t);    }    Point operator /(double t)    {        return Point(x/t,y/t);    }};struct Polygon{    Point p[220];    int n;    void in()    {        for(int i=0;i<n;i++)            p[i].in();    }};double Xmult(Point o,Point a,Point b){    return (a.x-o.x)*(b.y-o.y)-(b.x-o.x)*(a.y-o.y);}double Dis(Point a,Point b){    return (a-b).len();}int con[300];int cn;//铆1掳眉渭Ķ锟ノã锚yPoint po;int cmp(Point a,Point b){    double d=Xmult(po,a,b);    if(d>0)        return 1;    if(d==0 && Dis(a,po)<Dis(b,po))        return 1;    return 0;}void Graham(Point p[],int &n){    int i,ind=0;    for(i=1;i<n;i++)        if(p[ind].y>p[i].y || (p[ind].y==p[i].y && p[ind].x>p[i].x))            ind=i;    swap(p[ind],p[0]);    po=p[0];    sort(p+1,p+n,cmp);    con[0]=0;    con[1]=1;    cn=1;    for(i=2;i<n;i++)    {        while(cn>0 && Sig(Xmult(p[con[cn-1]],p[con[cn]],p[i]))<=0)            cn--;        con[++cn]=i;    }     int tmp=cn;    for(i=n-2;i>=0;i--)    {        while


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-11-26 13:46:51, Gzip enabled