2016-01-01から1年間の記事一覧

ABC 008

abc008.contest.atcoder.jp A問題 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define RREP(i,n) for(int i=(int)(n); i>=0; --i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) typedef long long int ll; using namespace std; int m</bits/stdc++.h>…

ABC 007

abc007.contest.atcoder.jp A問題 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) typedef long long int ll; using namespace std; int main(void) { int n; cin >> n; cout << n-1 << endl;</bits/stdc++.h>…

ABC 006

abc006.contest.atcoder.jp A問題 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) typedef long long int ll; using namespace std; int main(void) { int N; cin >> N; cout << (N%3 == 0 ? </bits/stdc++.h>…

ABC 004

abc004.contest.atcoder.jp A問題 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) typedef long long int ll; using namespace std; int main(void) { int N; cin >> N; cout << 2*N << endl;</bits/stdc++.h>…

ABC 005

abc005.contest.atcoder.jp A問題 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) typedef long long int ll; using namespace std; int main(void) { int x, y; cin >> x >> y; cout << y / </bits/stdc++.h>…

ABC 003

abc003.contest.atcoder.jp A問題 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) typedef long long int ll; using namespace std; int main(void) { int N; cin >> N; double s; REP(i, N) </bits/stdc++.h>…

ABC 002

abc002.contest.atcoder.jp A問題 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) typedef long long int ll; using namespace std; int main(void) { int a, b; cin >> a >> b; cout << max(</bits/stdc++.h>…

ABC 001

abc001.contest.atcoder.jp A問題 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) typedef long long int ll; using namespace std; int main(void) { int a, b; cin >> a >> b; cout << a-b <</bits/stdc++.h>…

AOJ 2005: Water Pipe Construction

そすうライブラリのverifyに使われていたので解いてみた。 問題 Water Pipe Construction | Aizu Online Judge 有向グラフと各辺のコストが与えられる。 頂点sから頂点g1とg2を結ぶコスト最小の道を作るときのコストを求めよ 解法 全点対間の最小コストを求…

AOJ 1608: Selection of Participants of an Experiment

問題 Selection of Participants of an Experiment | Aizu Online Judge 数列の中で最も差の小さい2つの数の差を出力する コード #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) typedef long</bits/stdc++.h>…

CODE FESTIVAL 2016 Final

A問題 A: Where's Snuke? - CODE FESTIVAL 2016 Final | AtCoder snukeという文字列がある場所の列(アルファベット)と行(数字)を出力 コード #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) t</bits/stdc++.h>…

AOJ 1600: Entrance Examination

問題 Entrance Examination | Aizu Online Judge codefestival前の肩ならし #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n) for(int i=(k);i<(int)(n);++i) typedef long long int ll; using namespace std; int main(void) </bits/stdc++.h>…

CODE FESTIVAL 2016 qual C

A問題 A: CF - CODE FESTIVAL 2016 qual C | AtCoder 文字列がCFを部分文字列として含むか判定せよ 方針 Cを見つけたらレベルへ、レベル1でFを見つけたらクリアみたいな コード #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) #define FOR(i,k,n</bits/stdc++.h>…

CODE FESTIVAL 2016 qual A

来世に期待 A A: CODEFESTIVAL 2016 - CODE FESTIVAL 2016 qual A | AtCoder 長さ12の文字列sの前半4文字と後半8文字の間に半角スペースを1つ挿入して出力せよ #include <bits/stdc++.h> using namespace std; #define rep(i, n) for(int i=0; i<(int)(n); ++i) int main(vo</bits/stdc++.h>…

Codeforces Round #372 (Div. 2)

2回目のCodeforces。 A問題 http://codeforces.com/contest/716/problem/A 入力の間隔がcを超えたらリセット、そうでなければインクリメントという感じで数えていく #include <bits/stdc++.h> using namespace std; #define rep(i, n) for(int i=0; i<(int)(n); ++i) int ma</bits/stdc++.h>…

AOJ 1181: Biased Dice

問題 Biased Dice | Aizu Online Judge サイコロがある場所に積まれていき、転がり落ちることができる場合は6, 5, 4という優先順位でその目の方向に転がる ルールに従ってサイコロを転がしていった時に見えるサイコロについて、1〜6の目がいくつずつ上を向い…

AOJ 1174: Identically Colored Panels Connection

問題 Identically Colored Panels Connection | Aizu Online Judge 電気を流すと隣接した同じ色のパネルを含めて色が変わるパネルがある 隣接した同じ色のパネルは結合する 左上のパネルに5回電気を流したとき、指定された色で左上と結合している最大のパネ…

AOJ 1155: How can I satisfy thee? Let me count the ways...

問題 How can I satisfy thee? Let me count the ways... | Aizu Online Judge "true", "false", "unknown"の3種類があるロジックで、与えられた式を満たすP, Q, Rの組み合わせが何種類あるか数えよ 方針 P, Q, Rがそれぞれ3通りの値を取るため27通りしかな…

AOJ 1602: ICPC Calculator

問題 ICPC Calculator | Aizu Online Judge 国際反括弧会議が考えた変な記法に従って計算するプログラムを作れ 各行は入れ子レベルを表す'.'・加算を表す'+'・乗算を表す'*'・整数からなる 式の最初の行は入れ子レベルの数だけの'.'からなる レベルnの演算子…

AOJ 1194: Vampire

問題 Vampire | Aizu Online Judge 与えられたビルの位置から、あと何秒間太陽が隠れているか求めよ 方針 ビルの位置が整数値なのでビルがある場所についてグリッドを埋めていく 太陽が通りうる位置についてグリッドが埋まっていなかったら太陽が通過する瞬…

AOJ 1127: Building a Space Station

問題 Building a Space Station | Aizu Online Judge 宇宙ステーションの各ユニットを全てつなぎたい 各ユニットは座標(x, y, z)に存在し、半径がrの球形である。球が接触していない場合は廊下でつなぐ必要がある 必要な廊下の長さの最小値を求めよ 方針 い…

AOJ 1188: Hierarchical Democracy

問題 Hierarchical Democracy | Aizu Online Judge [[[99][59][63][85][51]][[1539][7995][467]][[51][57][79][99][3][91][59]]]という形で与えられる選挙区の区割りから、当選するために必要な最低得票数を求めよ [99]とある場合はその選挙区に99人の有権者…

AOJ 1149: Cut the Cake

問題 Cut the Cake | Aizu Online Judge 大きさwxdのケーキをn回切り分ける 入力はp, sという形で与えられ、p番目のピースの左上から時計回りにs進んだところを起点に垂直に切断する ピースの番号はカットが終わるたびに出来たのが古い順、出来たのが同じな…

AOJ 1144: Curling 2.0

問題 Curling 2.0 | Aizu Online Judge カーリングっぽいゲームを10回以内でクリアできるか調べよ 方針 シミュレーションして10回以内にクリアできるか調べる 障害物にぶつかったら消去するという盤面変化を記録する方法がbfsだと思いつかなかったのでdfsし…

AOJ 2400: You Are the Judge

問題 You Are the Judge | Aizu Online Judge 提出ログから求まる順位の順に、ID・正解数・ペネルティを表示せよ 方針 AOJ 1187: ICPC Ranking - はやくプロになりたいとほぼ同じ コード #include <bits/stdc++.h> using namespace std; #define rep(i, n) for(int i=0; i<(</bits/stdc++.h>…

AOJ 1007: JPEG Compression

問題 JPEG Compression | Aizu Online Judge NxNのマスをジグザグに走査するとき、各マスにアクセスする順番を求めよ 方針 合計sumになる(y,x)の組ごとに考える sumが偶数なら右上に、奇数なら左下に進んでいく 次に進むマスが範囲外ならsumの偶奇とnとの関…

AOJ 0101: Aizu PR

問題 Aizu PR | Aizu Online Judge 文字列中の"Hoshino"を"Hoshina"に書き換えろ 方針 "Hoshino"という文字列があったら最後の文字を'a'にする 置換関数を使わずに書く練習ということで。 cin >> nした後にgetline(cin, s)すると変な挙動をしたので、数字もg…

AOJ 0100: Sale Result

問題 Sale Result | Aizu Online Judge 総売上が1,000,000以上の従業員のIDを入力順に表示せよ どう考えても悪問だった 方針 問題文には明示されていないが、同じ従業員の売上記録が複数回与えられることがあるのでmapで保持しておく 問題文には明示されてい…

AOJ 0052: Factorial II

問題 n の階乗 | Aizu Online Judge nの階乗を求めたとき、末尾に0がいくつ並ぶか 方針 10=2x5であるので10をつくるには因数に2と5が必要。明らかに2の方がたくさんあるので5の個数を数える コード #include <bits/stdc++.h> using namespace std; #define rep(i, n) for(in</bits/stdc++.h>…

AOJ 0020: Capitalize

問題 Capitalize | Aizu Online Judge 小文字を大文字に変換せよ 方針 小文字なら'A'-'a'を足す コード #include <bits/stdc++.h> using namespace std; #define rep(i, n) for(int i=0; i<(n); ++i) int main(void){ string s; while(getline(cin, s)){ rep(i, s.size()) {</bits/stdc++.h>…