Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstring>#include<cstdio>#include<cmath>#include<vector>#include<algorithm>using namespace std;const int N(111), M(111);int infi(1e9);struct Point {int x, y;Point() {}Point(int x, int y) : x(x), y(y) {}void scan() {scanf("%d%d", &x, &y);}void print() {printf("%d %d\n", x, y);}} a[N], b[N];int edges[N][N], dis[N][N], f[N];__inline bool operator < (const Point & a, const Point & b) {return a.x < b.x || a.x == b.x && a.y < b.y;}__inline Point operator - (const Point & a, const Point & b) {return Point(a.x - b.x, a.y - b.y);}__inline int operator * (const Point & a, const Point & b) {return a.x * b.y - a.y * b.x;}