Drzewo H to fraktalna struktura drzewa rozpoczynająca się od linii. W każdej iteracji gałęzie T są dodawane do wszystkich punktów końcowych. W tym wyzwaniu musisz utworzyć reprezentację ASCII co drugi poziom drzewa H.
Pierwszy poziom zawiera po prostu trzy znaki myślnika-Minus:
---
Kolejne poziomy są konstruowane rekurencyjnie:
- Utwórz macierz kopii 2x2 z poprzedniego poziomu, oddzieloną trzema spacjami lub liniami.
- Połącz środki kopii z liniami artystycznymi ASCII w formie litery H. Użyj
-do linii poziomych, linii|pionowych i+zawsze , gdy linie się spotykają.
Drugi poziom
-+- -+-
| |
+-----+
| |
-+- -+-
Trzeci poziom
-+- -+- -+- -+-
| | | |
+--+--+ +--+--+
| | | | | |
-+- | -+- -+- | -+-
| |
+-----------+
| |
-+- | -+- -+- | -+-
| | | | | |
+--+--+ +--+--+
| | | |
-+- -+- -+- -+-
Zasady
- Dane wejściowe są liczbami całkowitymi reprezentującymi poziom drzewa H sztuki ASCII, jak opisano powyżej ( nie rzeczywisty poziom drzewa H), zerowy lub indeksowany jednokrotnie.
- Wyjście jest elastyczne. Na przykład możesz wydrukować wynik lub zwrócić ciąg oddzielony znakiem nowej linii, listę ciągów dla każdej linii lub tablicę znaków 2D.
- Należy użyć
-,|,+i spacje. - Dopuszczalne są końcowe znaki i maksymalnie trzy końcowe białe znaki.
To jest kod golfowy. Najkrótsza odpowiedź w bajtach wygrywa.