Н дерево является фрактальной структурой дерева , которая начинается с линией. В каждой итерации T ветвей добавляются ко всем конечным точкам. В этой задаче вы должны создать ASCII-представление каждого второго уровня дерева H.
Первый уровень просто содержит три дефис-минус символов:
---
Следующие уровни построены рекурсивно:
- Создайте матрицу 2х2 копий с предыдущего уровня, разделенных тремя пробелами или строками.
- Соедините центры копий художественными линиями ASCII в форме буквы H. Используйте
-
для горизонтальных линий,|
вертикальных линий и+
всякий раз , когда линии встречаются друг с другом.
Второй уровень
-+- -+-
| |
+-----+
| |
-+- -+-
Третий уровень
-+- -+- -+- -+-
| | | |
+--+--+ +--+--+
| | | | | |
-+- | -+- -+- | -+-
| |
+-----------+
| |
-+- | -+- -+- | -+-
| | | | | |
+--+--+ +--+--+
| | | |
-+- -+- -+- -+-
правила
- Входные данные - это целое число, представляющее уровень H-дерева ASCII-искусства, как описано выше ( не фактический уровень H-дерева), с нулевым или единичным индексом.
- Выход гибкий. Например, вы можете напечатать результат или вернуть строку, разделенную новой строкой, список строк для каждой строки или двумерный массив символов.
- Вы должны использовать
-
,|
,+
и символы пробела. - Задний пробел и до трех задних пробелов разрешены.
Это код гольф. Самый короткий ответ в байтах побеждает.