2010-05-24から1日間の記事一覧

PKU 3126 Prime Path

幅優先探索 あらかじめエラトステネスの篩で素数表を作っておく static const int pows[] = {1, 10, 100, 1000}; int change(int number, int digit, int insert) { switch (digit) { case 0: return number / 10 * 10 + insert; case 1: return number / 10…

PKU 2624 4th Point

幾何 接する点を固定してベクトルの足し算と引き算 typedef complex<double> P; void go(const P& a, const P& b, const P& c, const P& d) { if (abs(a - c) > EPS) { return; } assert(abs(a - d) > EPS); assert(abs(b - c) > EPS); assert(abs(b - d) > EPS); P </double>…

PKU 1106 Transmitters

幾何 複素数ライブラリを使うと楽 角度でソートして尺取メソッド int main() { double r; for (int X, Y; cin >> X >> Y >> r && r >= 0.0; ) { int N; cin >> N; vector<double> angles; for (int n = 0; n < N; ++n) { int x, y; cin >> x >> y; x -= X; y -= Y; i</double>…