C - 菱型カウント 解説 by ngtkana
\(h \times w\) の二次元ブーリアン配列 \(a\) を
\[ a _ { i, j } =\begin{cases} \mathtt { true } & ( s _ { i, j } = \mathtt { o } ) \\ \mathtt { false } & ( s _ { i, j } = \mathtt { x } ) \\ \end{cases} \]
で定義します。
各 \(i, j\) について同時に、\(a _ { i, j }\) を
\[ a _ { i - 1, j } \ \land a _ { i + 1, j } \ \land a _ { i, j - 1 } \ \land a _ { i, j + 1 } \]
(ただし範囲外は \(\mathtt { false }\) とします。)に置き換えるという操作を \(K - 1\) 回行います。その後 \(a\) の \(\mathtt { true }\) な要素の個数が答えです。
投稿日時:
最終更新: