Dado un número entero positivo N ("viralidad"), su programa debe crear un dibujo ASCII de un árbol con dos ramas de longitud N que se extiendan hacia abajo y / o hacia la derecha desde la esquina superior izquierda.
La dirección tomada por cada rama después del primer asterisco puede ser hacia la derecha o hacia abajo, y esta elección debe hacerse al azar 1 en cada paso siguiente.
Por ejemplo, dada una entrada de 5, la salida podría verse así:
***
* ***
**
**
Las dos ramas pueden tocar (estar en celdas adyacentes), pero no superponerse (estar en la misma celda), por lo que no se permitiría lo siguiente:
***
* *
*****
*
*
Ejemplos
Para la entrada 1, la única salida posible es:
**
*
(Esto estará presente en todas las salidas válidas, ya que hacer que las dos ramas tomen el mismo camino provocaría que se superpongan).
Las salidas posibles para una entrada de 3incluyen:
***
* *
**
**
***
*
*
Para entrada 7:
****
* **
* **
*
***
*
Para entrada 10:
****
* *
*********
*
*****
Este es el código de golf , por lo que gana la respuesta válida más corta (en bytes).
1. Esto debería ser aleatorio de manera uniforme (es decir, una probabilidad de 50/50 de cada dirección), o tan aleatorio como sea posible en un hardware normal.
0s y 1s en lugar de espacios y asteriscos?