[BOJ 7853] Advanced ASCII Cubes
View as PDFThe table surface is divided into N by M square cells. Some cubes are stacked one upon another over the cells, forming towers. For each cell the number of cubes stacked over it is given in the matrix A.</p>
Your program must output the view of the table in ASCII graphics, where each cube is represented as shown below:
+---+ / /| +---+ | | | + | |/ +---+
(here the characters used are '+', '-', '/', '|', their ASCII codes are ASCII 43, 45, 47, 124)
The dot (ASCII 46) must be used as a background.
입력 형식
Input file contains integers N M, followed by matrix A, row-by-row. The first row describes the cube tower furthest from the viewer, left to right, and the last row — nearest to the viewer.
출력 형식
Output file must contain a string representation of the table view, with minimal number of lines required to show all cubes. Each line must contain a string of equal length, which is the minimal width required to show all cubes.
예제 입력 1
3 4
1 1 1 1
1 2 1 1
1 1 1 1
예제 출력 1
........+---+..........
......+/ /|-+---+---+
...../+---+ |/ / /|
....+-| | +---+---+ |
.../ | |/ / /| +
..+---+---+---+---+ |/.
./ / / / /| +..
+---+---+---+---+ |/...
| | | | | +....
| | | | |/.....
+---+---+---+---+......
예제 입력 2
3 5
2 2 1 2 2
2 2 1 1 2
3 2 1 2 2
예제 출력 2
......+---+---+...+---+---+
..+---+ / /|../ / /|
./ /|-+---+ |.+---+---+ |
+---+ |/ /| +-| / /| +
| | +---+ |/+---+---+ |/|
| |/ /| +/ / /| + |
+---+---+ |/+---+---+ |/| +
| | | +-| | | + |/.
| | |/ | | |/| +..
+---+---+---+---+---+ |/...
| | | | | | +....
| | | | | |/.....
+---+---+---+---+---+......
Comments