직무
귀하의 작업은 입력으로 지정된 위치에 ASCII 상자를 출력하는 프로그램을 작성하는 것입니다.
입력
숫자 목록이 제공됩니다. 여기 형식은 당신이 원하는 deliminator를 사용할 수 있다는 점에서, 약간의 유연성 (예를 들면 1,2,3,4
, 1 2 3 4
, [1,2,3,4]
). 이 목록은 4 개의 그룹 xywh
으로 구성되며 각 상자를 지정합니다 . 각 상자의 너비와 높이는 2 이상 x
이며 width
왼쪽에서 오른쪽입니다. y
그리고 height
맨 아래입니다.
산출
렌더링은 오른쪽에서 왼쪽으로, 오른쪽의 상자가 먼저 그려지고 그 이후의 모든 상자가 위에있는 것으로 생각할 수 있습니다. 후행 공백과 후행 줄 바꿈이 허용됩니다.
겹치는 상자를 처리하는 방법
입력 왼쪽의 상자가 맨 위 상자이며 겹치지 않습니다. 이후의 모든 상자는 상자에 포함되지 않은 공간에서만 렌더링되며 이미 렌더링 된 상자의 테두리를 대체하지 않습니다.
스타일
상자의 스타일은 상당히 표준이며 +
모서리, -
가로선 및 |
세로선에 사용됩니다.
예 :
( >>>
입력을 나타냄)
>>>0 0 11 4 7 2 8 4 3 5 8 3
+---------+
| |
| |---+
+---------+ |
| |
+---+------+
| |
+------+
>>>0 3 11 4 7 5 8 4 3 8 8 3 4 0 13 5
+-----------+
| |
| |
+---------+ |
| |-----+
| |---+
+---------+ |
| |
+---+------+
| |
+------+
>>>0 0 2 2
++
++
>>>2 2 5 3 1 1 7 5 0 0 9 7
+-------+
|+-----+|
||+---+||
||| |||
||+---+||
|+-----+|
+-------+
>>>0 0 3 3 2 0 3 3
+-+-+
| | |
+-+-+
4 0 13 5
아닌 것이0 4 13 5
아닌가?