ちなみに、他の方法としては、
移動範囲探索の時に、進んだ方向を記録していって
マスのフラグを立てる時に、それまでの移動方向もマスに持たせる。

>>581 の図(?)で、
(2,0) のマスは、「↑↑」
(3,3) のマスは、「→↓」
みたいな感じで。
移動方向は2bitで表現できるけど、1byteにした方が使いやすいかな。

他にも良い方法があるかも知れないけど、知ってるのはこの2つ。
おすすめは前者だけど、再帰使うからバグが出る可能性も。