This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub SSRS-cp/cp_library
struct point{ double x, y; point(){ } point(double x, double y): x(x), y(y){ } point operator +(point P){ return point(x + P.x, y + P.y); } point operator -(point P){ return point(x - P.x, y - P.y); } point operator *(double k){ return point(x * k, y * k); } point operator /(double k){ return point(x / k, y / k); } }; point rotate90(point P){ return point(-P.y, P.x); } point rotate(point P, double t){ return point(P.x * cos(t) - P.y * sin(t), P.x * sin(t) + P.y * cos(t)); } double abs(point P){ return sqrt(P.x * P.x + P.y * P.y); } double dist(point P, point Q){ return abs(Q - P); } double dot(point P, point Q){ return P.x * Q.x + P.y * Q.y; } double cross(point P, point Q){ return P.x * Q.y - P.y * Q.x; }
#line 1 "old_Geometry/Point.cpp" struct point{ double x, y; point(){ } point(double x, double y): x(x), y(y){ } point operator +(point P){ return point(x + P.x, y + P.y); } point operator -(point P){ return point(x - P.x, y - P.y); } point operator *(double k){ return point(x * k, y * k); } point operator /(double k){ return point(x / k, y / k); } }; point rotate90(point P){ return point(-P.y, P.x); } point rotate(point P, double t){ return point(P.x * cos(t) - P.y * sin(t), P.x * sin(t) + P.y * cos(t)); } double abs(point P){ return sqrt(P.x * P.x + P.y * P.y); } double dist(point P, point Q){ return abs(Q - P); } double dot(point P, point Q){ return P.x * Q.x + P.y * Q.y; } double cross(point P, point Q){ return P.x * Q.y - P.y * Q.x; }