Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cmath>#include <algorithm>using std::abs;using std::swap;const int maxn = 1010;typedef long long LL;struct Point{int x, y;Point(int x = 0, int y = 0): x(x), y(y) {}void read() { scanf("%d%d", &x, &y); }Point operator - (const Point& t) const {return Point(x - t.x, y - t.y);}};int n, m;Point p[maxn], dir[maxn];int angle[maxn];int sign(int x) { if(!x) return 0; return x > 0 ? 1 : -1; }Point Normalize(Point A) {return Point(sign(A.x), sign(A.y));}int Cross(Point A, Point B) { return A.x * B.y - A.y * B.x; }