この記事で使うアルゴリズム
深さ優先探索
はじめに
カテゴリー競プロ初中級者100問では、Qiita
にて@e869120
さんがレッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】としてまとめられている100問をPython
で解いています。
全問題の一覧はこちらです
問題
https://atcoder.jp/contests/joi2008yo/tasks/joi2008yo_f
この問題は動的計画法を用いて解くことができます。
ポイント
- 動的計画法は再帰によって実装できます。
- 配列の周囲を
0
で埋めると、配列外参照かを判定する条件分岐を書かなくてよく、実装が楽になる場合があります。 - 再帰関数の最初に、
mp[n][m] = 0
として同じパス内で同じ区画を再度訪問しないようにします。関数から抜ける際に、mp[n][m] = 1
としてそれを解除します。
1 | import sys |
記事情報
- 投稿日:2020年6月2日
- 最終更新日:2020年6月22日