Завдання
У цьому завданні ваше завдання полягає в тому, щоб намалювати ASCII художнє зображення декількох стекків коробок збільшення висоти. Вам вводиться як вхід кількість стеків, що є цілим числом. Перший стек містить одне поле розміром 2x2
. Другий стек містить 2 коробки розміром 3x3
. Загалом, k
th стек містить k
поля розміром (k+1)x(k+1)
.
Межі кожної скриньки малюються за допомогою символів -|+
, а їх інтер'єр складається з пробілів. Суміжні ящики розділяють свої межі, і кути завжди повинні бути намальовані +
, навіть якщо вони є частиною рамки іншого поля.
Приклади
Вихід для 1
:
++
++
Вихід для 2
:
+-+
| |
+-+
++ |
++-+
Вихід для 3
:
+--+
| |
| |
+--+
| |
+-+ |
| +--+
+-+ |
++ | |
++-+--+
Вихід для 5
:
+----+
| |
| |
| |
| |
+----+
| |
| |
| |
+---+ |
| +----+
| | |
| | |
+---+ |
| | |
| +----+
+--+ | |
| +---+ |
| | | |
+--+ | |
| | +----+
+-+ +---+ |
| +--+ | |
+-+ | | |
++ | | | |
++-+--+---+----+
Правила та підрахунок балів
Вхід може бути отриманий від STDIN, як аргумент командного рядка, або як аргумент функції. Вихід повинен перейти до STDOUT або найближчого еквівалента. Дозволяється будь-яка обмежена кількість пробілів, що перебувають у попередньому та останньому рядках, але не може бути додаткових попередніх пробілів.
Це код-гольф, тому виграє найменший байт. Стандартні лазівки заборонені.
Integer.MaxValue
як вхідні дані.
Integer.MaxValue
або еквівалент.
n
іn-1
відносно є першочерговим. Два плюси ніколи не перетинаються.