#4222. 谢尔宾斯基地毯(Sierpinski carpet)

谢尔宾斯基地毯(Sierpinski carpet)

题目描述

对于非负整数KK,我们定义一个KK级地毯如下:

  • 0级地毯是一个1×1的网格,由一个黑色单元格组成。

  • 对于K>0K > 0KK级地毯是一个3K×3K3^K × 3^K的网格。当这个网格被分成九个3K1×3K13^{K-1} × 3^{K-1}的块时:

    • 中央块完全由白色单元格组成。
    • 其他八个块是(K1)(K-1)级地毯。

给定一个非负整数NN。按照指定格式打印一个NN级地毯。

输入格式

输入NN

输出格式

输出3N3^N行。 第ii(1i3N)(1 ≤ i ≤ 3^N)应包含一个长度为3N3^N的字符串SiS_i,由'.'和'#'组成。如果NN级地毯中从上到下第ii行、从左到右第jj列的单元格是黑色的,SiS_i的第jj个字符(1j3N)(1 ≤ j ≤ 3^N)应为'#',否则为'.'。

样例

1
###
#.#
###
2
#########
#.##.##.#
#########
###...###
#.#...#.#
###...###
#########
#.##.##.#
#########

样例解释

【样例1说明】
1级地毯是一个3×3的网格,如下所示:

按照指定格式输出时,它看起来就像样例输出。
【样例2说明】
2级地毯是一个9×9的网格。

数据范围

0N60 ≤ N ≤ 6NN是整数。

来源

  • AtCoder ABC357C