Dato un intero positivo N ("viralità"), il tuo programma dovrebbe creare un disegno in stile ASCII di un albero con due rami della lunghezza N che si estendono verso il basso e / o verso destra dall'angolo in alto a sinistra.
La direzione presa da ciascun ramo dopo il primo asterisco può essere verso destra o verso il basso, e questa scelta dovrebbe essere fatta casualmente 1 ad ogni passaggio successivo.
Ad esempio, dato un input di 5, l'output potrebbe apparire come:
***
* ***
**
**
I due rami sono autorizzati a toccare (essere su celle adiacenti), ma non si sovrappongono (si trovano sulla stessa cella), quindi non è consentito quanto segue:
***
* *
*****
*
*
Esempi
Per l'input 1, l'unico output possibile è:
**
*
(Questo sarà presente in tutti gli output validi, poiché avere i due rami nello stesso percorso li farebbe sovrapporre.)
Le possibili uscite per un ingresso di 3includono:
***
* *
**
**
***
*
*
Per input 7:
****
* **
* **
*
***
*
Per input 10:
****
* *
*********
*
*****
Questo è code-golf , quindi vince la risposta valida più breve (in byte).
1. Questo dovrebbe essere uniformemente casuale (cioè una probabilità 50/50 di ciascuna direzione), o quanto più uniformemente casuale possibile su un normale hardware.
0s e 1s invece di spazi ed asterischi?