MSBOP 2015 Round3 register

Ended

Participants:978

Verdict:AC | AC
Submitted:2015-05-09 16:26:08

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-7;
int dcmp(double x) {
    return x < -eps ? -1 : x > eps;
}
struct Point {
    double x, y;
    Point (){}
    Point(double x, double y) : x(x), y(y) {}
    Point operator - (const Point &b) { return Point(x - b.x, y - b.y); }
    Point operator + (const Point &b) { return Point(x + b.x, y + b.y); }
    Point operator * (const double &b) { return Point(x * b, y * b); }
    Point operator / (const double &b) { return Point(x / b, y / b); }
    Point rot90(int t) { return Point(-y, x) * t; }
    Point rot(double ang) { return Point(x * cos(ang) - y * sin(ang), x * sin(ang) + y * cos(ang)); }
    double operator * (const Point &b) { return x * b.y - y * b.x; }
    double operator % (const Point &b) { return x * b.x + y * b.y; }
    double len2() { return x * x + y * y; }
    double len() { return sqrt(x * x + y * y); }
    bool operator < (const Point &b) const {
        if (dcmp(x-b.x) != 0) return dcmp(x-b.x) < 0;
        return dcmp(y-b.y) < 0;
    }
    void init() { scanf("%lf %lf", &x, &y); }
} tower[111], hull[111], city[111];
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX