Завдання
Ваше завдання - написати програму, яка буде виводити коробки 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
?