地図読み込み時に番兵をつける
地図データの読み込み時点で壁をつける
上下左右はfor d in [-1, +1, -WIDTH, +WIDTH]:になる
一度に動きうる距離で壁の幅SENTINELを決める
スタート地点などはSENTINELだけずれる
元々1オリジンの時があるので注意
PAST5での追記
PAST5E 今まで1個読み込むだけだったが、この問題では「番兵の幅が異なる2つ」を読む必要があった さらに片方だけ回転されるのでバグの元になった
クラスにした、回転もメソッドにしといた
グリッドグラフを構築しないことが必要だった
PAST5G 「隣接関係でグラフにするところはライブラリ化してもいいかもな」と書いていたがそもそもグラフにすることを避けるべき 以前numpyで読むものを作った
が、よく考えるとこういうデータを扱う時、だいたい地図に対して添え字でランダムアクセスする
のでnumpyで待つよりリストで持つ方が良い