A - Permutation Grid Editorial by nuip
\(n=5\) として、入力の順列 \(R,C\) がどちらも \(1,2,3,4,5\) である場合を考えます。確定していない場所を ?
で表すことにします。
?????
?????
?????
?????
?????
\(5\) 行目の黒マスの数は \(5\) つなので、すべて黒です。 \(5\) 列目も同様です。
????#
????#
????#
????#
#####
\(1\) 行目の黒マスの数は \(1\) つなので、残りはすべて白です。 \(1\) 列目も同様です。
....#
.???#
.???#
.???#
#####
\(4\) 行目の黒マスの数は \(4\) つなので、残りはすべて黒です。 \(4\) 列目も同様です。
....#
.??##
.??##
.####
#####
\(2\) 行目の黒マスの数は \(2\) つなので、残りはすべて白です。 \(2\) 列目も同様です。
....#
...##
..?##
.####
#####
\(3\) 行目の黒マスの数は \(3\) つなので、残りはすべて黒です。 \(3\) 列目も同様です。
....#
...##
..###
.####
#####
よって、上から \(r\) 行目、左から \(c\) 列目のマスは、\(r+c\ge 6\) である場合に黒で、そうでないときに白となります。
一般の \(n\) についても入力の順列 \(R,C\) がどちらも \(1,2,\dots,n\) である場合、上から \(r\) 行目、左から \(c\) 列目のマスが、\(r+c\ge n+1\) である場合に黒で、そうでないときに白となることが証明できます(例えば、先程と同じように周りのマスを確定させて \(n-2\) の場合に帰着させることで、数学的帰納法で証明できます。)。
また、ある \(R_1,\dots,R_n, C_1,\dots,C_n\) についての答え \(M\) が構築できたとすると、 \(R_1,\dots,R_n\) の \(a\) 番目と \(b\) 番目を入れ替えたものの答えは、\(M\) の \(a\) 行目と \(b\) 行目を入れ替えたものになります。列についても同様です。
よって、上から \(r\) 行目、左から \(c\) 列目のマスは、\(R_r+C_c\ge n+1\) である場合に黒で、そうでないときに白です。
posted:
last update: