#3559. X drawing

0
    ID: 3559 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 2 上传者: 标签>AtCoderabc230CGESP 3级枚举(双层循环)模拟

X drawing

X drawing

题目描述

有一个 N×NN\times N 的格子,按水平行和垂直列排列,所有方格最初都被涂成白色。令 (i,j)(i,j) 表示第 ii 行第 jj 列的方格。 Takahashi 有整数 AA 和 BB,它们在 11 到 NN(含)之间。他将执行以下操作。

对于所有满足 max⁡(1−A,1−B)≤k≤min⁡(N−A,N−B)\max(1-A,1-B)\leq k\leq \min(N-A,N-B) 的整数 kk,将 (A+k,B+k)(A+k,B+k) 涂成黑色。 对于所有满足 max⁡(1−A,B−N)≤k≤min⁡(N−A,B−1)\max(1-A,B-N)\leq k\leq \min(N-A,B-1) 的整数 kk,将 (A+k,B−k)(A+k,B-k) 涂成黑色。

在这些操作之后的格子中,找出每个方格 (i,j)(i,j) 的颜色,使得 P≤i≤QP\leq i\leq Q 且 R≤j≤SR\leq j\leq S。

输入格式

输入从标准输入按以下格式给出: NN AA BB PP QQ RR SS

输出格式

输出 Q−P+1Q-P+1 行。
每行应包含一个长度为 S−R+1S-R+1 的字符串,由 # 和 .. 组成。
第 ii 行字符串的第 jj 个字符应为 #,表示 (P+i−1,R+j−1)(P+i-1, R+j-1) 被涂成黑色;为 .. 则表示 (P+i−1,R+j−1)(P+i-1, R+j-1) 为白色。

5 3 2
1 5 1 5
...#.
#.#..
.#...
#.#..
...#.
5 3 3
4 5 2 5
#.#.
...#
1000000000000000000 999999999999999999 999999999999999999
999999999999999998 1000000000000000000 999999999999999998 1000000000000000000
#.#
.#.
#.#

提示

1≤N≤10181 \leq N \leq 10^{18} 1≤A≤N1 \leq A \leq N 1≤B≤N1 \leq B \leq N 1≤P≤Q≤N1 \leq P \leq Q \leq N 1≤R≤S≤N1 \leq R \leq S \leq N (Q−P+1)×(S−R+1)≤3×105(Q-P+1)\times(S-R+1)\leq 3\times 10^5 输入中的所有数值均为整数。第一次操作将四个方格 (2,1)(2,1)、(3,2)(3,2)、(4,3)(4,3)、(5,4)(5,4) 涂成黑色,第二次将四个方格 (4,1)(4,1)、(3,2)(3,2)、(2,3)(2,3)、(1,4)(1,4) 涂成黑色。
因此,应该输出上述结果,因为 P=1P=1、Q=5Q=5、R=1R=1、S=5S=5.
这些操作将九个方格 (1,1)(1,1)、(1,5)(1,5)、(2,2)(2,2)、(2,4)(2,4)、(3,3)(3,3)、(4,2)(4,2)、(4,4)(4,4)、(5,1)(5,1)、(5,5)(5,5) 涂成黑色。
因此,应该输出上述结果,因为 P=4P=4、Q=5Q=5、R=2R=2、S=5S=5.
注意输入可能无法装入 32 位整数类型。

标签: AtCoder|abc230C

来源

AtCoder|abc230C