A5339. 分形图(二)
编程题
普及/提高-
知识点
题目描述
对于非负整数 $K$,定义如下的 $K$ 级地毯:
- $0$ 级地毯是仅由一个黑色格子组成的 $1\times1$ 网格;
- 当 $K>0$ 时,$K$ 级地毯是一个 $3^K\times3^K$ 的网格。将该网格划分为 $3^{K-1}\times3^{K-1}$ 的 $9$ 个块时:
- 中央块全部为白色;
- 其余 $8$ 个块均为 $(K-1)$ 级地毯。
给定 $N$,输出 $N$ 级地毯。
- $0$ 级地毯是仅由一个黑色格子组成的 $1\times1$ 网格;
- 当 $K>0$ 时,$K$ 级地毯是一个 $3^K\times3^K$ 的网格。将该网格划分为 $3^{K-1}\times3^{K-1}$ 的 $9$ 个块时:
- 中央块全部为白色;
- 其余 $8$ 个块均为 $(K-1)$ 级地毯。
给定 $N$,输出 $N$ 级地毯。
输入格式
输入一个整数 $N$。
输出格式
输出 $3^N$ 行,第 $i$ 行为长度为 $3^N$ 的字符串,仅由
. 和 # 组成:黑色格输出 #,白色格输出 .。输入输出样例
输入 #1
1
输出 #1
### #.# ###
输入 #2
2
输出 #2
######### #.##.##.# ######### ###...### #.#...#.# ###...### ######### #.##.##.# #########
说明/提示
## 数据范围
- $0\le N\le 6$
# 样例解释(AT_abc357_c)
## 样例 #1($N=1$)
- 画布大小为 $3^1\times3^1=3\times3$。
- 把整张图分成 $3\times3$ 的九宫格:
- **中心块**(正中间的格子)是白色 “.”;
- 其他 8 个位置都是 $0$ 级地毯(单个黑格 “#”)。
- 因此得到
```
###
#.#
###
```
## 样例 #2($N=2$)
- 画布大小为 $3^2\times3^2=9\times9$。
- 把整张图分成 $3\times3$ 的九宫格,每个大块大小为 $3\times3$:
- **中心大块**全部为白色 “.”(填充成 $3\times3$ 的全白块)。
- 其余 8 个大块,**各自放入 $N=1$ 的地毯**(即这个 $3\times3$ 图案)。
```
###
#.#
###
```
- 组合后得到
```
#########
#.##.##.#
#########
###...###
#.#...#.#
###...###
#########
#.##.##.#
#########
```
- $0\le N\le 6$
# 样例解释(AT_abc357_c)
## 样例 #1($N=1$)
- 画布大小为 $3^1\times3^1=3\times3$。
- 把整张图分成 $3\times3$ 的九宫格:
- **中心块**(正中间的格子)是白色 “.”;
- 其他 8 个位置都是 $0$ 级地毯(单个黑格 “#”)。
- 因此得到
```
###
#.#
###
```
## 样例 #2($N=2$)
- 画布大小为 $3^2\times3^2=9\times9$。
- 把整张图分成 $3\times3$ 的九宫格,每个大块大小为 $3\times3$:
- **中心大块**全部为白色 “.”(填充成 $3\times3$ 的全白块)。
- 其余 8 个大块,**各自放入 $N=1$ 的地毯**(即这个 $3\times3$ 图案)。
```
###
#.#
###
```
- 组合后得到
```
#########
#.##.##.#
#########
###...###
#.#...#.#
###...###
#########
#.##.##.#
#########
```