沙盒
出于当前任务的目的,单位长度的多维数据集以ASCII符号的斜投影方式呈现,如下所示:
+-----+
/ /|
+-----+ |
| | +
| |/
+-----+
+
用于顶点。-
X边缘。沿X的单位长度由-
两个顶点之间的五个表示。|
为Y边缘。沿Y的单位长度由|
两个顶点之间的两个表示。/
Z边缘。沿Z的单位长度由/
两个顶点之间的1表示。- 仅在所有三个平面相交的位置绘制顶点。
- 仅在恰好两个平面相交的位置绘制边缘。
拉伸单位面时,它会从其原始位置偏移单位长度,并为每个方向(正方向和负方向)创建四个新边。
您可以将拉伸视为绘制3D笛卡尔坐标系的轴,其中每个轴都表示为长方体,其横截面为1x1,长度n
为(0,0,0)
沿X拉伸1:
+-----------------+
/ /|
+-----------------+ |
| | +
| |/
+-----------------+
任务
给定XYZ轴的三个数字,按指定的数量对称拉伸单位立方体的面,并使用上面指定的ASCII符号呈现结果。
输入项
x,y,z –非负数–各个轴的挤出长度。0表示不挤出。输入可以是三个数字,三个数字的列表,三个字符,一个字符串或任何您方便使用的东西。
输出量
挤压后立方体的ASCII图。允许前导和尾随wihtespace。
测试用例
X Y Z
0 0 0
+-----+
/ /|
+-----+ |
| | +
| |/
+-----+
1 0 0
+-----------------+
/ /|
+-----------------+ |
| | +
| |/
+-----------------+
0 0 1
+-----+
/ /|
/ / |
/ / +
/ / /
/ / /
+-----+ /
| | /
| |/
+-----+
1 1 0
+-----+
/ /|
+-----+ |
+---| | +-----+
/ | |/ /|
+-----+ +-----+ |
| | +
| |/
+-----+ +-----+
| | +
| |/
+-----+
2 0 1
+-----+
/ /|
+-----------+ +-----------+
/ /|
+-----------+ +-----------+ |
| / /| | +
| +-----+ | |/
+---------| | +-----------+
| |/
+-----+
1 1 1
+-----+
/ /|-+
+-----+ |/|
+---| | +-----+
/ | |/ /|
+-----+-----+-----+ |
| / /| | +
| +-----+ | |/
+---| | +-----+
| |/| +
+-----+ |/
+-----+
获奖标准
每种语言中以字节为单位的最短解决方案为准。请添加所用方法和代码的简短描述。