配点 : 300 点
問題文
上下左右に広がる N×N のマス目があり、最初全てのマスは白く塗られています。このマス目の上から i 行目、左から j 列目のマスを (i,j) で表します。
高橋君は 1 以上 N 以下の整数 A, B を持っており、次のような操作を行います。
- max(1−A,1−B)≤k≤min(N−A,N−B) をみたす全ての整数 k について、(A+k,B+k) を黒く塗る。
- max(1−A,B−N)≤k≤min(N−A,B−1) をみたす全ての整数 k について、(A+k,B−k) を黒く塗る。
この操作を行った後のマス目について、P≤i≤Q かつ R≤j≤S をみたす各マス (i,j) がそれぞれ何色で塗られているか求めてください。
制約
- 1≤N≤1018
- 1≤A≤N
- 1≤B≤N
- 1≤P≤Q≤N
- 1≤R≤S≤N
- (Q−P+1)×(S−R+1)≤3×105
- 入力は全て整数である。
入力
入力は以下の形式で標準入力から与えられる。
N A B
P Q R S
出力
Q−P+1 行出力せよ。
各行は #
と .
のみからなる長さ S−R+1 の文字列であり、
i 行目の文字列の j 番目の文字が
#
であることは (P+i−1,R+j−1) が黒く塗られていることを、
.
であることは (P+i−1,R+j−1) が白く塗られていることをさす。
5 3 2
1 5 1 5
...#.
#.#..
.#...
#.#..
...#.
1 つめの操作で (2,1), (3,2), (4,3), (5,4) の 4 マスが、
2 つめの操作で (4,1), (3,2), (2,3), (1,4) の 4 マスが黒く塗られます。
よって、P=1, Q=5, R=1, S=5 より、上のように出力します。
5 3 3
4 5 2 5
#.#.
...#
操作によって、
(1,1), (1,5), (2,2), (2,4), (3,3), (4,2), (4,4), (5,1), (5,5) の 9 マスが
黒く塗られます。
P=4, Q=5, R=2, S=5 より、上のように出力します。
1000000000000000000 999999999999999999 999999999999999999
999999999999999998 1000000000000000000 999999999999999998 1000000000000000000
#.#
.#.
#.#
入力が 32 bit 整数型に収まらないことがあることに注意してください。