Official

B - Brindled Torus Editorial by kencho

解説

\(A > B \times 4\) または \(B > A \times 4\) の場合

\(A > B \times 4\) のときを考えると、\(k\) を正の整数として、\(kB\) 個の黒マスに隣接できるマスは高々 \(4kB\) 個であり、これは \(kA\) より小さいため、\(kA\) 個の白マスのそれぞれが黒マスに隣接することはできません。つまり、条件を満たす長方形グリッドは存在しません。\(B > A \times 4\) のときも同様です。

その他の場合

さて、\(A > B \times 4\) のときは条件を満たせないことが分かりましたが、では \(A = B \times 4\)、つまり \((A, B) = (4, 1)\) のときはどうでしょうか?

これには次のような \(5 \times 5\) の解があります。

これの白と黒を反転することで、\((A, B) = (1, 4)\) のときも構築できることは明らかです。

この \(2\) つのグリッドを組み合わせて任意の \((A, B)\) についてグリッドを構築することを考えます。いくつか方法はありますが、ここでは私が気に入っている方法を紹介します。

先程提示した \((A, B) = (1, 4)\) のグリッドを \(1\) 行だけ下にずらして(一番下の行は一番上に来ます)、\((A, B) = (4, 1)\) のグリッドと重ねます。白と黒が重なった部分を灰色にすると、結果は次のようになります。

このグリッドをよく見ると、灰色のマスは白で塗っても黒で塗っても良いことがわかります。そこで、この \(5 \times 5\) のグリッドを縦(または横)に \(A+B\) 回繰り返したものを考えると、それは白マスと黒マスが \(5(A+B)\) 個ずつ、灰色のマスが \(15(A+B)\) 個あるグリッドとなります。あとは灰色のマスのうち、\(25A-5(A+B) = 20A - 5B\) マスを白く、残りを黒く塗れば問題の条件を満たすグリッドを構築できます。

この方法で構築されるグリッドのマス数は \(25(A+B) \le 50000\) であり、\(2 \times 10^5\) より明らかに小さいです。

posted:
last update: