[AOJ] No. 0558 Cheese

問題

方針

幅優先探索

チーズは硬さ \( 1 \) から \( N \) まで順番にとる必要があるので、\( 1 \) から \( 2 \) までの最短距離を計算し、次に \( 2 \) から \( 3 \) までの最短距離を計算するようにして、\( N \) まで計算を行います。

幅優先探索をつかった迷路の解き方は検索すれば沢山出てくると思いますが、自分の書き方は、マスを訪れたかどうかの状態を管理する二次元配列と調査中のマスを格納するキューを使っています。この問題では上下左右の4方向に移動ができるので、注目するマスの4方向が移動可能ならばキューに移動先のマスを格納していきます。
各最短距離の和が答えになります。

 

コード

提出したコード