AT_abc230_c [ABC230C] X drawing
题目描述
有一个上下左右扩展的 $N\times N$ 的网格,最开始所有格子都是白色的。我们用 $(i,j)$ 表示从上往下第 $i$ 行、从左往右第 $j$ 列的格子。
高桥君有两个满足 $1$ 到 $N$ 之间的整数 $A$ 和 $B$,他会进行如下操作:
- 对于所有满足 $\max(1-A,1-B)\leq k\leq \min(N-A,N-B)$ 的整数 $k$,将 $(A+k,B+k)$ 这个格子涂成黑色。
- 对于所有满足 $\max(1-A,B-N)\leq k\leq \min(N-A,B-1)$ 的整数 $k$,将 $(A+k,B-k)$ 这个格子涂成黑色。
请你输出操作后,对于所有满足 $P\leq i\leq Q$ 且 $R\leq j\leq S$ 的格子 $(i,j)$,每个格子的颜色。
输入格式
输入以如下格式从标准输入给出。
> $N$ $A$ $B$ $P$ $Q$ $R$ $S$
输出格式
输出 $Q-P+1$ 行。
每行是一个只由 `#` 和 `.` 组成的、长度为 $S-R+1$ 的字符串。第 $i$ 行的第 $j$ 个字符为 `#` 表示 $(P+i-1,R+j-1)$ 这个格子是黑色,`.` 表示是白色。
说明/提示
### 约束条件
- $1\leq N\leq 10^{18}$
- $1\leq A\leq N$
- $1\leq B\leq N$
- $1\leq P\leq Q\leq N$
- $1\leq R\leq S\leq N$
- $(Q-P+1)\times(S-R+1)\leq 3\times 10^5$
- 输入均为整数。
### 样例解释 1
第一次操作会将 $(2,1)$、$(3,2)$、$(4,3)$、$(5,4)$ 这 $4$ 个格子涂黑,第二次操作会将 $(4,1)$、$(3,2)$、$(2,3)$、$(1,4)$ 这 $4$ 个格子涂黑。因此,$P=1$,$Q=5$,$R=1$,$S=5$,输出如上。
### 样例解释 2
操作后,$(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$,输出如上。
### 样例解释 3
请注意输入可能超出 $32$ 位整数范围。
由 ChatGPT 4.1 翻译