E - LRUD Moving 解説
by
Solalyth
探索を用いた軽実装解
Yes No の判定は公式解説を参照してください。Yes の場合を考えます。
\(r = \min(A,~ N-1)\) とします。( \(r,~ r+1\) 行のどちらかにマス \((A, B)\) が存在するような \(r\) を取ればよいです。)
基本的には左右に進み続け、進めなくなったら下に 1 回進みます。 \(r,~ r+1\) 行目では、マス \((A, B)\) を避けつつ、この 2 行にまたがってくねくね進み、同様に進めなくなったら下に進みます。 この戦略を取ることで、条件に適したパスが得られることが証明できます。
よって、現在居るマスが \((N, N)\) となるまで
- \(r\) 行目のとき …
D -> LR - \(r+1\) 行目のとき …
U -> LR -> D - それ以外のとき …
LR -> D- このとき上に進めないため
U -> LR -> Dとしてよい
- このとき上に進めないため
の順に探索し、進めるなら進むことを繰り返せばよいです。
投稿日時:
最終更新:
