任何规则的六角形都可以用钻石平铺,例如:
______
/_/_/\_\
/_/\_\/\_\
/\_\/_/\/_/\
\/_/\_\/_/\/
\_\/_/\_\/
\_\_\/_/
我们将考虑上面的大小拼贴1
(因为钻石的侧面是由一个/
或\
每个组成)。相同大小的瓦片2
看起来像:
____________
/ / /\ \
/___/___/ \___\
/ /\ \ /\ \
/___/ \___\/ \___\
/\ \ / /\ / /\
/ \___\/___/ \/___/ \
\ / /\ \ / /\ /
\/___/ \___\/___/ \/
\ \ / /\ \ /
\___\/___/ \___\/
\ \ \ / /
\___\___\/___/
您的任务是接收这样的ASCII艺术图块(大小1
)作为输入,以及一个正整数N
(十进制或一进制),指定所需输出的大小。然后,您应该输出相同切片的放大版本。
请注意,六边形可以是任意大小,并且小至1x1x1(包含三颗菱形)。
输入或输出都不得包含任何尾随空格,也不得包含超过对齐六边形所需的任何前导空格。输入和输出都可以选择包含一个尾随换行符(此选择对于输入和输出不必相同)。
您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。
这是代码高尔夫,因此获胜时最短的答案(以字节为单位)。
拼贴示例
这里有一些输入图块,您可以用来测试提交。
__
/_/\
\_\/
____
/_/\_\
/\_\/_/\
\/_/\_\/
\_\/_/
______
/_/_/\_\
/_/\_\/\_\
/\_\/_/\/_/\
\/_/\_\/_/\/
\_\/_/\_\/
\_\_\/_/
________
/_/\_\_\_\
/\_\/\_\_\_\
/\/_/\/_/_/\_\
/\/\_\/_/_/\/\_\
\/\/_/\_\_\/\/_/
\/\_\/_/\_\/_/
\/\_\_\/_/_/
\/_/_/_/_/
以下代码段包含N = 1
通过进行输入的相应输出N = 6
。
N-1
有空行。:(