ARC112 D - Skate
直感的に全ての行にいけるようになるか、全ての列にいけるようになるかのどちらか良い方で判定すると良さそう
4隅は必ず停止できるので地面であるとして扱う
キューでマス目の位置と向いている方向を管理して以下を行う
端の列または行にある地面のマスは必ず到達できるのでキューに入れておく
同時にその列または行を既に見たと記録しておく
そのマスのその方向が既に見ている場合はスキップする
方向が横の場合はその行を、縦の場合は列を見たと記録
同じ行または列にある地面で今とは違う方向で既に見ているか確認する
見ていない場合、今の方向で見たと記録してキューに追加する
以下を行方向か列方向で行い小さい方を答えとする
見ていない行か列だった場合、1行目または1列目を地面として上と同様に移動できるマスを埋めていく
以上の方法だとTLEするので
今の方向で見たと記録してキューに追加する、を無条件で行うことでAC
キューに全てのマスが2方向で乗る可能性があるので$ O(HW)