[AtCoder] ABC 151 D – Maze Master
良くある迷路の探索のアルゴリズムを使って、全探索を行います。ここでは、全ての道となっているマスから幅優先探索を行い、到達可能なマスの最短距離を求めます。
コード#include <bits/stdc++.h>usi ...
[AOJ] No. 0300 フロッピーキューブ
パズルは最大でも \( 8 \) 回の操作で解くことができるので、\( 4^7 \) 通りのパターンを調べれば良いです。したがって、深さ優先探索を行い、実際にシミュレーションを行います。
コード#include < ...
[AOJ] No. 0299 鉄道路線II
買い物をする駅の番号の順番を変えても影響がないので、\( d_i \) を昇順に整列させます。ここで、\( d_i < p \) を満たす最大の \( d_i \) を \( l \) とし、\( d_i > p ...
[AtCoder] ABC 149 E – Handshake
一般ゲストの並びを変えても影響がないので、降順に並び替えます。つまり、\( A_{i}\geq A_{i + 1} \ (0 \leq i \leq N – 2)\) を満たすとします。
最終的な幸福度が最大 ...
[AOJ] No. 0321 部活動調査
各生徒をノードに見立てて、隣接リストを構築します。生徒 \( i \) が所属している部活動を \( g_i \) とし、所属が未確定のときを \( g_i = 0 \) とします。生徒 \( a, b \) が同じ部活動に所 ...
[AOJ] No. 0340 パンケーキ
両端のパンケーキは \( 1 \) 枚だけ裏返すことができることに着目します。左端のパンケーキは単独で裏返す回数を \( k \) とすると、最小値を達成するためには、\( 0 \leq k \leq p_1 \) であること ...
[yukicoder] No. 0944 煎っぞ!
コーヒー豆のおいしさ度の候補は、累積和の数だけあるので、\( N \) 通りあることがわかります。ここで、累積和を
\
とします。おいしさ度を \( s_i \) と固定したとき、条件を満たすような分割 ...
[AtCoder] ABC 146 D – Coloring Edges on Tree
必要な色の数は、頂点の最大次数となるので、任意の頂点から幅優先探索を行い、色を振り分けていきます。辺の色を順番に出力する必要があるので、マップを使って管理します。また、色を分けるときに使用できない色を管理するためにセットを使い ...
[AOJ] No. 0410 アカベコ20
参加するメンバーの組み合わせは \( 2^{N} – 1\) 通りあるので、ビット全探索を行います。周期が同じメンバーが増えても必ず同じ公演に参加することになるので、参加するメンバーの組み合わせが増えることはありま ...
[AtCoder] ABC 147 C – HonestOrUnkind2
ある人は正直者か不親切な人かの \( 2 \) 通りなので、全体で \( 2^N \) のパターンがあります。なので、ビット全探索を行います。人 \( i \) が正直者としたとき、その証言が現在のビットの状態と同 ...