ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

AOJ 2311 - お菓子の魔女

問題
提出コード

解法

あんまり書くことはないです。
たかだか64ターン、そのときにクッキーを置く候補がたかだか64マス、
1つの候補について、置き換わるクッキーの個数や場所を調べるのに、縦横斜めの8方向を調べればよく、多くても20マス前後です。
ということで、計算量的には全探索で間に合うので、あとはガリガリコードを書いていけば終わりです。
自分は、ターンの進行等をまとめる関数、あるターンに置くマスを探索する関数、あるマスにクッキーを置いたときに自分のクッキーと置き換えることができる相手のクッキーの個数を数える関数、実際にクッキーを置いて置き換えの処理を行う関数、そしてマス目が盤面をオーバーしていないか調べる関数、に分けて実装をしました。

感想

何も考えず見切り発車したので想像以上に時間を取られました。バグが少なかったのが救いでした…