問題
https://atcoder.jp/contests/agc043/tasks/agc043_a
方針
公式の解説にもあるように、
どのような操作をしても必ず1しか減らせず、1減らすような操作は必ず存在します。
そこで、動的計画法を用いる。
ポイント
- スタートマスの1マス左および上のバスはコスト0、それ以外のマスは十分大きい値(
1000
)とする - 白マスから黒マスに移動する際にコストを+1する、ただしスタートマスが黒マスの場合も+1する
そこで、窓の和を求める際に窓の中の要素を全て足すのではなく、一つ隣の窓の和との差分を計算することで、計算量を削減する。
コード
1 | H, W = map(int,input().split()) |
記事情報
- 投稿日:2020年3月22日
- 最終更新日:2020年3月22日