AtCoder Beginner Contest 277 C問題 Ladder Takahash
問題
提出解答
問題の概要
本のハシゴがある 回建てのビルがある.
番目のハシゴは 階と 階を結んでおり, 階から 階へ, または 階から 階へ移動することができる (※ 間の階は移動不可能).
高橋君は最初, 階にいる. 階以上のハシゴを利用することで, 最高何階までいけるか? ただし, 同じ階の移動は自由にできるが, ハシゴ以外の方法で別の階への移動はできない.
制約
解法
次のような無向グラフ を作成する.
このとき, 高橋君が 階へ移動可能であることと, において頂点 [tex 1] と頂点 が連結であることは同値である.
しかし, は 頂点であるから, 全ての情報を持つことができない. だが, ハシゴが存在する階層は高々 個であるから, ハシゴがある階についてのみを着目すれば良い.
よって, の代わりに次の部分グラフ を考えれば良いことになる.
この 上で頂点 から始まる BFS や DFS を行うことにより, 時間で正解を導くことが出来る.