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 3
incluyen:
***
* *
**
**
***
*
*
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.
0
s y 1
s en lugar de espacios y asteriscos?