Sfida
Ti verrà dato un numero intero positivo ncome input. L'output dovrebbe essere una pila di sabbia simile a una piramide costruita sulle regole specificate di seguito:
- Ogni numero intero "cade" verso il basso dallo stesso punto iniziale iniziale, come la sabbia che cade in una forma conica.
- I numeri maggiori del numero direttamente sotto di esso quando colpisce la pila di sabbia cadranno a destra, se possibile.
- I numeri inferiori al numero direttamente sotto di esso quando colpisce la pila di sabbia cadranno a sinistra, se possibile.
- I numeri uguali al numero direttamente sotto di esso quando colpisce la pila di sabbia rimarranno al loro posto.
- I numeri possono cadere a sinistra / destra se possono spostarsi rispettivamente verso il basso e verso sinistra / destra. Cioè, se c'è già un numero sotto e verso sinistra / destra, a seconda della direzione, il numero attualmente in calo non si sposta.
- Un numero continuerà a cadere nella catasta di sabbia fino a quando non può essere spostato nella posizione successiva, o colpisce il pavimento.
Appunti
Il controllo di confronto iniziale si applica solo al primo numero intero rilevato, non per ogni incontro successivo mentre scorre nella pila di sabbia.
Gli spazi finali sono a posto, ma le nuove righe finali non lo sono.
Non ci sono spazi iniziali o nuove linee, tranne dove necessario per preservare la struttura della sabbia.
È possibile scrivere un programma o una funzione completi.
Si può presumere che l'input conterrà solo una combinazione [0-9].
Questo è code-golf , il codice più breve in byte sarà contrassegnato come vincitore dalle Ides di marzo
Esempi
1
1
12345
35
124
54321
13
245
555444333222111
2
2
2
135
1345
13445
111222333444555
4
4
4
135
1235
12235
7313623030872935273465247457435345345350
3
3
3
3
34
355
3644
239475
201277445
020373685575
555444333222111è un errore che il terzo4cadrà a sinistra del primo4?