2013-12-01から1ヶ月間の記事一覧

AOJ1116 Jigsaw Puzzles for Computers

AOJ

解法1.まだ使っていないパズルの選択 2.回転方向の選択 3.上下左右で配置に適当なパズルかどうか判定 4.配置可能なら更にパズルをおく(再帰) 5.全てのパズルを配置できたら、答えの場合の数が1増加する 6.再帰関数の戻り値を利用して、全ての…

AOJ1189 Prime Caves

AOJ

初めに素数洞穴のマップを作る。 渦状にマップを作るのはバグりやすいので、まずはdx, dyを使わずに渦を1方向ずつforループを回して作ると良い。これでかなり楽に書ける。後はDPすればよい。自分は初めの地点から下3方向の洞穴に向かってBFSしていきDP配列…

AOJ1145 The Genome Database of All Space Life

AOJ

AOJ1163 Cards

AOJ

二部グラフの最大マッチング問題なのでフローを作り、最大流量を調べる。青と赤のカードのペアで gcd > 1 が取れるものに辺が引ける。

AOJ1162 Discrete Speed

最短時間であるが、単一始点最短路問題である。 隣接リストを用いて拡張ダイクストラをする。状態として 「前の位置」「現在位置」「到着時の速度」「経過時間」 を持つとよい。これが分かれば後は書き下すだけ。priority_queue に push する条件として制限…

Tutorials からはじめる Boost.Spirit.Qi

この記事は Aizu Advent Calendar 2013 7日目 の記事を想定して作成されています。 Let's Boost.Spirit! Boost.Spirit とは構文解析用のライブラリで、Spirit.Lex, Spirit.Qi, Spirit. Karma の3種類があります。 それぞれ字句解析器、字句+構文解析器、パ…