Dato un input di un elenco di blocchi da rilasciare in determinati punti, genera l'altezza della "torre" risultante.
Il modo migliore per spiegare questa sfida è l'esempio. L'input sarà un elenco di 2n numeri interi che rappresentano n blocchi. Il primo numero intero è la posizione x del blocco, indicizzata 0, e il secondo è la larghezza del blocco. Ad esempio, un input di 2 4rappresenta il blocco (con le coordinate x etichettate di seguito):
####
0123456789
Ora, supponiamo che l'input sia 2 4 4 6. Cioè, un blocco in x = 2 con una larghezza di 4 e uno in x = 4 con una larghezza di 6:
######
####
Si noti che a.) I blocchi "cadono" sempre dalla cima della torre e b.) I blocchi non "cadono mai" (cioè si bilanciano sempre). Quindi, un input di
2 4 4 6 12 1rappresenta:
######
#### #
Si noti che l'ultimo blocco è caduto fino al "suolo".
L'output finale dovrebbe essere l'altezza massima della torre per ciascun valore x fino al massimo. Quindi, l'input 2 4 4 6 12 1dovrebbe risultare in output
0011222222001:
######
#### #
0011222222001
L'input può essere dato come una stringa separata da spazi bianchi / virgola, una matrice di numeri interi o argomenti della riga di comando / funzione. Le posizioni dei blocchi (valori x) saranno sempre numeri interi 0 o maggiori, la larghezza sarà sempre un numero intero 1 o maggiore e ci sarà sempre almeno un blocco.
L'output può essere dato come una singola stringa separata da caratteri non numerici (es. "0, 0, 1, ..."), Una singola stringa che elenca tutte le cifre (es.
"001..."- l'altezza massima è garantita essere 9 o meno) o una matrice di numeri interi.
Poiché si tratta di code-golf , vincerà il codice più breve in byte.
Casi test:
In Out
---------------------------------------------------------
2 4 4 6 12 1 0011222222001
0 5 9 1 6 4 2 5 1133333222
0 5 9 1 2 5 6 4 1122223333
0 5 2 5 6 4 9 1 1122223334
20 1 20 1 20 1 00000000000000000003
5 5 000011111
0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 4 123456789999