AtCoder Beginner Contest 241 C問題 Connect 6
問題
提出解答
問題の概要
行 列のマス目にはそれぞれ白または黒で塗られている. 高々 個の白マスを黒マスに塗り替えることにより, 縦横斜めの向きに 個以上黒マスを連続させることは可能か?
制約
解法
ある方向に連続する6マスにおいて, そこにある黒マスが 個以上ならば, 残りの高々 個の白マスを黒マスに塗り替えることにより目標を達成できる.
逆に, ある方向に連続する6マスにおいて, そこにある黒マスが 個以下ならば目標を達成できない.
よって, 連続する6マスにおける黒マスの数を数えることになる. 縦方向の連続する マスの選び方は一番上のマスを選ぶと, 残りが自動的に決まるので, 通り. 横についても同様で, 通り. 斜めについても右上か左上のマスを選ぶことになるので, 通り.
以上から,
であり, それぞれについて マスを見るので, 否定するために見るべきマスの数は高々 で, という条件下では高速である.