比着《算法竞赛》抄上去的,但第20-25行不能通过编译(可能是抄错了),怎么改?
#include<bits/stdc++.h>
using namespace std;
const double PI=acos(-1.0);
const double eps=1e-8;
int sgn(double x){
if(fabs(x)<eps) return 0;
else return x<0?-1:0;
}
int dcmp(double x,double y){
if(fabs(x-y)<eps) return 0;
else return x<y?-1:1;
}
struct Point{
double x,y;
Point(){}
Point(double x,double y):x(x),y(y){}
};
double Distance(Point A,Point B){return sqrt(pow(A.x-B.x,2)+pow(A.y-B.y,2));}
typedef Point Vector;
Point operator + (Point B){return Point(x+B.x,y+B.y);}
Point operator - (Point B){return Point(x-B.x,A.y-B.y);}
Point operator * (double k){return Point(x*k,y*k);}
Point operator / (double k){return Poin(x/k,A.y/k);}
bool operator == (Point B){return sgn(x-B.x)==0&&sgn(y-B.y)==0;}
double Area(Point A,Point B,Point C){return Cross(B-A,C-A);}
double Dot(Vector A,Vector B){return A.x*B.x+A.y*B.y;} //dot(A,B)>0 A与B夹角为锐角 | <0钝角 | =0 直角
double Len(Vector A){return sqrt(Dot(A,A));}
double Angle(Vector A,Vector B){return acos(Dot(A,B)/Len(A)/Len(B));}
double Cross(Vector A,Vector B){return A.x*B.y-A.y*B.x;} //A*B>0 B在A逆时针方向 A*B<0 B在A顺时针方向 =0共线
Vector Rotate(Vector A,double rad){return Vector(A.x*cos(rad)-A.y*sin(rad),A.x*sin(rad)+A.y*cos(rad));}
bool Parallel(Vector A,Vector B){return sgn(Cross(A,B))==0;} // 返回true表示平行或重合
int main()
{
return 0;
}