A - Skating with Blocks Editorial
by
east1016
貪欲法
1. 「移動」と「滑走」のみ用いた場合の最適解を求める
- ある目的マスから次の目的マスへ移動する際、「滑走」は高々 \(2\) 回しか使わないので、これを全探索して解を求める。
2. 「変更」によるスコア改善
\(\displaystyle i=0,1,2,\dots\ (\text{昇順}),\quad d\in\{L,\,R,\,D,\,U\}\)
について、以下の手順を実行する。- ターン \(i\) の次のターンで方向 \(d\) に「変更」を行う。
- 変更後、「移動+滑走」のみを用いて全目的マスを訪れるのに要するターン数を BFS で再計算。
- スコアが改善する場合は解を更新。
- ターン \(i\) の次のターンで方向 \(d\) に「変更」を行う。
3. 衝突のなかったブロックを除外
- 2 までで求まった解について、「一度も「滑走」による衝突が発生しなかったブロック」を設置しないことにする。
posted:
last update: