X drawing
题目描述
有一个 N×N 的格子,按水平行和垂直列排列,所有方格最初都被涂成白色。令 (i,j) 表示第 i 行第 j 列的方格。
Takahashi 有整数 A 和 B,它们在 1 到 N(含)之间。他将执行以下操作。
对于所有满足 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) 涂成黑色。
在这些操作之后的格子中,找出每个方格 (i,j) 的颜色,使得 P≤i≤Q 且 R≤j≤S。
输入格式
输入从标准输入按以下格式给出:
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
...#.
#.#..
.#...
#.#..
...#.
5 3 3
4 5 2 5
#.#.
...#
1000000000000000000 999999999999999999 999999999999999999
999999999999999998 1000000000000000000 999999999999999998 1000000000000000000
#.#
.#.
#.#
提示
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
输入中的所有数值均为整数。第一次操作将四个方格 (2,1)、(3,2)、(4,3)、(5,4) 涂成黑色,第二次将四个方格 (4,1)、(3,2)、(2,3)、(1,4) 涂成黑色。
因此,应该输出上述结果,因为 P=1、Q=5、R=1、S=5.
这些操作将九个方格 (1,1)、(1,5)、(2,2)、(2,4)、(3,3)、(4,2)、(4,4)、(5,1)、(5,5) 涂成黑色。
因此,应该输出上述结果,因为 P=4、Q=5、R=2、S=5.
注意输入可能无法装入 32 位整数类型。
标签: AtCoder|abc230C
来源
AtCoder|abc230C