怎么改
  • 板块学术版
  • 楼主Istruggle
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/21 21:42
  • 上次更新2023/12/22 11:26:21
查看原帖
怎么改
873417
Istruggle楼主2023/12/21 21:42

比着《算法竞赛》抄上去的,但第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;
}
2023/12/21 21:42
加载中...