#P2330. Advanced ASCII Cubes
Advanced ASCII Cubes
题目描述
桌面被划分为 的方格,每个方格上堆叠着若干立方体,形成塔状结构。给定矩阵 ,其中 表示第 行第 列方格上的立方体数量。要求用 ASCII 字符绘制这些立方体的三维视图,具体规则如下:
-
立方体表示:
+---+ / /| +---+ | | | + | |/ +---+
使用字符:
'+' (ASCII 43)
、'-' (ASCII 45)
、'/' (ASCII 47)
、'|' (ASCII 124)
,背景用'.' (ASCII 46)
填充。 -
视角规则:
- 第一行表示离观察者最远的立方体塔(从右向左观察),最后一行表示最近的塔。
- 立方体按从后向前、从右向左的顺序堆叠。
输入格式
- 第一行: 和 ()。
- 接下来 个整数:按行优先顺序给出矩阵 。
输出格式
- 输出 ASCII 图形,要求:
- 行数为最小能完整显示所有立方体的高度;
- 每行长度为最小能完整显示所有立方体的宽度;
- 每行用等长字符串表示,不足部分用
'.'
填充。
示例分析
输入数据 1
3 5
2 2 1 2 2
2 2 1 1 2
3 2 1 2 2
输出数据 1
......+---+---+...+---+---+
..+---+ / /|../ / /|
./ /|-+---+ |.+---+---+ |
+---+ |/ /| +-| / /| +
| | +---+ |/+---+---+ |/|
| |/ /| +/ / /| + |
+---+---+ |/+---+---+ |/| +
| | | +-| | | + |/.
| | |/ | | |/| +..
+---+---+---+---+---+ |/...
| | | | | | +....
| | | | | |/.....
+---+---+---+---+---+......