#include #include #include #include #include using namespace std; #define PI 3.14159265358979 #define EPSILON 1e-6 typedef struct Point { double x,y; Point(double a = 0,double b = 0):x(a),y(b) {} Point(const Point & p):x(p.x),y(p.y) {} friend Point operator + (const Point &p1, const Point & p2) { return Point(p1.x+p2.x,p1.y+p2.y); } Point & operator += (const Point & p) { x += p.x; y += p.y; return *this; } friend Point operator * (const Point & p, int u) { return Point(p.x*u,p.y*u); } Point & operator = (const Point & p) { x = p.x; y = p.y; return * this; } friend bool operator == (const Point & p1, const Point & p2) { if(fabs(p1.x-p2.x)