takapt0226's diary

競技プログラミングのことを書きます

2013-01-05から1日間の記事一覧

POJ 3617 Best Cow Line

解法 greedy 前1文字しか見ないgreedyでは、BCABのようなケースで、BBACと出力してしまう可能性がある(正しくはBABC) 出力形式にも注意。80文字ごとに改行を入れる必要がある。 ソースコード int main() { int n; string s; scanf("%d", &n); rep(i, n) { ch…

POJ 3616 Milking Time

ソースコード int main() { typedef pair<pint, int> P; int n, m, r; static vector<pint> g[ten(6) + 10]; // [start] => (end + r, efficiency) scanf("%d%d%d", &n, &m, &r); rep(i, m) { int s, e, ef; scanf("%d%d%d", &s, &e, &ef); if (e <= n) g[s].pb(pint(min(n, e</pint></pint,>…

POJ 3615 Cow Hurdles

ワーシャルフロイド ソースコード int main() { int n, m, t; scanf("%d%d%d", &n, &m, &t); const int inf = ten(8); int w[303][303]; rep(i, n) rep(j, n) w[i][j] = i == j ? 0 : inf; while (m--) { int s, e, h; scanf("%d%d%d", &s, &e, &h); --s, --…

POJ 3620 Avoid The Lakes

ソースコード bool lake[128][128]; int dfs(int x, int y) { if (!lake[y][x]) return 0; lake[y][x] = false; int res = 1; rep(i, 4) res += dfs(x + dx[i], y + dy[i]); return res; } int main() { int h, w, k; scanf("%d%d%d", &h, &w, &k); while (k…

POJ 3619 Speed Reading

ソースコード int main() { int k, n; scanf("%d%d", &n, &k); rep(i, k) { int s, t, r; scanf("%d%d%d", &s, &t, &r); int read_minutes = (n + (s - 1)) / s; int rest_times = (read_minutes - 1) / t; printf("%d\n", read_minutes + rest_times * r); }…

POJ 3618 Exploration

ソースコード int main() { int t, n; scanf("%d%d", &t, &n); set<int> pos; rep(i, n) { int x; scanf("%d", &x); pos.insert(x); } const int inf = ten(9) + 100; pos.insert(-inf); pos.insert(inf); int res = 0, p = 0; ll past = 0; for (;;) { set<int>::iter</int></int>…