Un árbol H es una estructura de árbol fractal que comienza con una línea. En cada iteración, se agregan ramas T a todos los puntos finales. En este desafío, debe crear una representación ASCII de cada segundo nivel de árbol H.
El primer nivel simplemente contiene tres caracteres menos guiones:
---
Los siguientes niveles se construyen recursivamente:
- Cree una matriz de copias 2x2 del nivel anterior, separadas por tres espacios o líneas.
- Conecte los centros de las copias con líneas de arte ASCII en forma de H. Utilice
-
para líneas horizontales,|
líneas verticales y+
siempre que las líneas se encuentren entre sí.
Segundo nivel
-+- -+-
| |
+-----+
| |
-+- -+-
Tercer nivel
-+- -+- -+- -+-
| | | |
+--+--+ +--+--+
| | | | | |
-+- | -+- -+- | -+-
| |
+-----------+
| |
-+- | -+- -+- | -+-
| | | | | |
+--+--+ +--+--+
| | | |
-+- -+- -+- -+-
Reglas
- La entrada es un número entero que representa el nivel del árbol H del arte ASCII como se describió anteriormente ( no el nivel real del árbol H), ya sea cero o uno indexado.
- La salida es flexible. Por ejemplo, puede imprimir el resultado o devolver una cadena separada por una nueva línea, una lista de cadenas para cada línea o una matriz 2D de caracteres.
- Debe utilizar
-
,|
,+
y los caracteres de espacio. - Se permiten espacios finales y hasta tres líneas de espacios en blanco finales.
Este es el código de golf. La respuesta más corta en bytes gana.