幅優先探索の基本的な手順(昔Villitさんに回答したやつの使いまわし)
@まず、スタート地点からの最短距離を保存する二次元配列を用意し、なるべく大きな数で初期化します。
Aスタート地点から近い点から順に距離を記録していきます。
B行けるマス全てに最短距離を記録し終わったら
B行けるマス全てに最短距離を記録し終わるまでAを繰り返す
C最短距離を記録した二次元配列のゴール地点から距離が1づつ減るようにたどれば最短ルート。値が@で初期化した数値のままだったら解なし。
みたいな感じです。
近い点から距離を記録するにはキューと呼ばれるものに記録した場所の座標を一時保存するのが一般的です
キューというのは配列にPUSHとPOP()を使ったもので、後ろに情報を追加していき、取り出すときは前から情報を取り出すようなデータ構造のことを言います
要するに近い順に入れて近い順に取り出す