https://beta.atcoder.jp/contests/kupc2017/tasks/kupc2017_eこれ好き。鍵を辺として無向グラフを作る。各成分ごとに独立なので連結と仮定してよい。このとき、頂点数より辺数のほうが大きければ全ての宝箱を開けられ、そうでない(つまり木)ならばどこか好きなひとつだけ開けられない。初手で最小費用流や2-SATが思い付くだろうが、最小費用流のアルゴリズムをネットワークに沿って高速化することや、単に2-SATのアルゴリズムからの類推で解法が思いつける。