介绍
仙人掌有各种不同的大小,形状和颜色。然而,最具标志性的仙人掌和必须在每一个西方必须是仙人掌。重要特征是它的大小和臂,它们定义了定型仙人掌的外观。
您的任务是将柱仙人掌引入ASCII世界。但是,就像在现实世界中一样,没有柱仙人掌像另一个,因此您的程序必须能够生成具有不同手臂配置的柱仙人掌。
仙人掌的例子
- 输入:
[0b10, 0b11]
([2, 3]
十进制,输入长度2
)
_
/ \
_ | |
/ \ | |
| | | |
\ \_| |
\__ |
\ |
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
| |
| |
技术指标
柱仙人掌总是有一个底和一个顶,中间有不同数量的茎。茎部可以没有任何臂,右臂,左臂或两臂。
柱仙人掌的生长模式作为包含两位值的输入列表给出。00
表示没有手臂,01
右边10
的手臂,左边的手臂和11
两条手臂(全部为二进制)。输入列表的长度决定了柱仙人掌的高度。
柱仙人掌部分如下所示。#
为清楚起见,仙人掌部分被八oth包围,不应打印。
柱仙人掌的高度始终等于4+6*k
非负整数的字符k
。
#############
# _ # Saguaro top
# / \ #
#############
# _ | | _ # Stem, both arms
#/ \ | | / \# Stem id: 11
#| | | | | |#
#\ \_| |_/ /#
# \__ __/ #
# \ / #
#############
# _ | | # Stem, left arm
#/ \ | | # Stem id: 10
#| | | | #
#\ \_| | #
# \__ | #
# \ | #
#############
# | | _ # Stem, right arm
# | | / \# Stem id: 01
# | | | |#
# | |_/ /#
# | __/ #
# | / #
#############
# | | # Stem, no arms
# | | # Stem id: 00
# | | #
# | | #
# | | #
# | | #
#############
# | | # Saguaro base
# | | #
#############
输入项
如前所述,输入包含一个两位值列表(0, 1, 2, 3
十进制)。可以任何合理的格式给出。列表的第一个元素对应于仙人掌的最高茎部分,第二个元素对应其第二高茎的部分,依此类推。
如果需要,您可以要求输入列表的长度作为附加输入。如果需要,请在答案中指定。
输出量
您的输出ASCII仙人掌柱应该使用上述确切的茎部构建。一行上的尾随空格和尾随的新行将被忽略;您可以打印更多,更少或上面指定的数量。
规则
测试用例
- 离群值。输入:
[0b01, 0b00, 0b01, 0b11]
_
/ \
| | _
| | / \
| | | |
| |_/ /
| __/
| /
| |
| |
| |
| |
| |
| |
| | _
| | / \
| | | |
| |_/ /
| __/
| /
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
| |
| |
- 交替臂。输入:
[0b10, 0b01, 0b10]
_
/ \
_ | |
/ \ | |
| | | |
\ \_| |
\__ |
\ |
| | _
| | / \
| | | |
| |_/ /
| __/
| /
_ | |
/ \ | |
| | | |
\ \_| |
\__ |
\ |
| |
| |
- 大量的武器。输入:
[0b11, 0b11]
_
/ \
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
| |
| |
- 没有武器,也被称为长矛。输入:
[0b00]
_
/ \
| |
| |
| |
| |
| |
| |
| |
| |
- 没有身体,有人称它为年轻的仙人掌。输入:
[]
_
/ \
| |
| |
4 1 0 1 3
)