E. 方块堆放

传统 1000 ms 256 MiB
标准 IO
文本比较

题目描述

            +-+-+-+   +-+-+-+-+   +-+   +-+     +-+-+-+   +-+-+-+       +-+-+-+
           / / / /|  / / / / /|  / /|  / /|    / / / /|  / / / /|      / / / /|
        +-+-+-+-+ + +-+-+-+-+ + +-+ + +-+ + +-+-+-+-+ + +-+-+-+-+   +-+-+-+-+ +
       / /| | | |/ / /| | | |/ / /|/ / /|/ / /| | | |/ / /| |/ /|  / /| | | |/
      +-+-+-+-+-+ +-+-+-+-+-+ +-+ + +-+ + +-+ +-+-+-+ +-+-+-+-+ + +-+ +-+-+-+
      |/ / /|    / / / / /|  / /|/ / /|/ / /|/       / / / /| |/ / /|/
      +-+-+-+   +-+-+-+-+ + +-+ + +-+ + +-+ +       +-+-+-+ +-+ +-+ +
      | |/ /|  / /| | | |/ / /|/ / /|/ / /|/       / /| | |/   / /|/
  +-+-+-+-+ + +-+-+-+-+-+ +-+-+-+-+ + +-+-+-+-+   +-+ +-+-+   +-+-+-+-+
 / / / /| |/ / / / / /|   |/ / /| |/  |/ / / /|  / /|/        |/ / / /|
+-+-+-+ +-+ +-+-+-+-+ +   +-+-+ +-+   +-+-+-+ + +-+ +         +-+-+-+ +
| | | |/    | | | | |/    | | |/      | | | |/  | |/          | | | |/
+-+-+-+     +-+-+-+-+     +-+-+       +-+-+-+   +-+           +-+-+-+

有一个 n×mn\times m 的方格平面。第 ii 行第 jj 列竖直堆放了 ai,ja_{i,j}1×1×11\times1\times1 的小方块。第 11 行表示最靠后的一排,第 nn 行表示最靠前的一排;第 11 列表示最靠左的一列,第 mm 列表示最靠右的一列。现在,要把这堆小方块画成字符画。

一个单独的小方块应当画成如下所示的 5×55\times5 的模板:

  +-+
 / /|
+-+ +
| |/
+-+

H=maxai,jH=\max a_{i,j},记第 ii 行(1in1\le i\le n)、第 jj 列(1jm1\le j\le m)、这一格中从下往上数的第 kk 个小方块(1kai,j1\le k\le a_{i,j})为小方块 (i,j,k)(i,j,k)。在输出中,小方块 (i,j,k)(i,j,k) 的模板左上角应当在字符画的第 2(Hk+i1)2(H-k+i-1) 行、第 2(j1+ni)2(j-1+n-i) 列。

输入格式

第一行两个整数 n,mn,m1n,m501\le n,m\le50)。

接下来 nn 行,每行 mm 个整数,第 ii 行第 jj 个整数为 ai,ja_{i,j}0ai,j500\le a_{i,j}\le50)。

保证至少存在一个位置满足 ai,j>0a_{i,j}>0

输出格式

输出题目要求的字符画。

样例

样例 1 输入

5 2
0 0
0 1
0 0
1 0
0 1

样例 1 输出



          +-+
         / /|
        +-+ +
        | |/
    +-+ +-+
   / /|
  +-+-+
  |/ /|
  +-+ +
  | |/
  +-+

样例 2 输入

3 3
1 2 3
2 3 1
3 0 2

样例 2 输出

          +-+
         / /|
      +-+-+ +
     / /| |/|
  +-+-+ +-+ +
 / /| |/| |/|
+-+ +-+-+-+ +
| |/|/ /|/|/
+-+ +-+ + +
| |/| |/|/
+-+ +-+ +
| |/| |/
+-+ +-+