Ein H-Baum ist eine fraktale Baumstruktur, die mit einer Linie beginnt. In jeder Iteration werden T-Zweige zu allen Endpunkten hinzugefügt. Bei dieser Herausforderung müssen Sie eine ASCII-Darstellung jeder zweiten H-Baumebene erstellen .
Die erste Ebene enthält einfach drei Bindestrich-Minus-Zeichen:
---
Die nächsten Ebenen sind rekursiv aufgebaut:
- Erstellen Sie eine 2x2-Matrix von Kopien der vorherigen Ebene, die durch drei Leerzeichen oder Zeilen getrennt sind.
- Verbinden Sie die Mitten der Kopien mit ASCII-Kunstlinien in Form eines H. Verwenden Sie diese Option
-
für horizontale Linien,|
für vertikale Linien und+
immer dann , wenn Linien aufeinander treffen.
Zweites Level
-+- -+-
| |
+-----+
| |
-+- -+-
Drittes Level
-+- -+- -+- -+-
| | | |
+--+--+ +--+--+
| | | | | |
-+- | -+- -+- | -+-
| |
+-----------+
| |
-+- | -+- -+- | -+-
| | | | | |
+--+--+ +--+--+
| | | |
-+- -+- -+- -+-
Regeln
- Die Eingabe ist eine Ganzzahl, die die oben beschriebene Ebene des ASCII-Art-H-Baums darstellt ( nicht die tatsächliche Ebene des H-Baums), entweder null- oder einsindiziert.
- Die Ausgabe ist flexibel. Sie können beispielsweise das Ergebnis drucken oder eine durch Zeilenumbrüche getrennte Zeichenfolge, eine Liste von Zeichenfolgen für jede Zeile oder ein 2D-Array von Zeichen zurückgeben.
- Sie müssen verwenden
-
,|
,+
und Leerzeichen. - Leerzeichen und bis zu drei Leerzeichen sind zulässig.
Das ist Code Golf. Die kürzeste Antwort in Bytes gewinnt.