Scrivi un programma che contiene una stringa in cui ogni riga è composta dal carattere 0
indentato da un numero di spazi. La riga superiore non è rientrata e ogni altra riga sarà rientrata al massimo da uno spazio in più rispetto alla riga immediatamente precedente.
Nessuna linea avrà spazi finali ma puoi facoltativamente supporre che ci sia una sola nuova riga finale.
Ad esempio, l'input potrebbe essere simile al seguente:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Il tuo compito è numerarlo come uno schema gerarchico , usando numeri interi positivi crescenti come intestazioni di linea. Questo sarebbe l'output per l'esempio:
1
1
1
2
2
2
1
2
3
1
3
1
1
2
Nota come ogni livello di rientro gerarchico ha il proprio set di numeri crescenti, anche se arrivano solo a uno.
Nell'output, non dovrebbero esserci spazi finali, ma facoltativamente può esserci una sola nuova riga finale.
Scrivi un programma completo che accetta la stringa di input tramite stdin o riga di comando oppure scrivi una funzione che accetta la stringa come argomento. Stampa il risultato o restituiscilo come stringa.
Vince il codice più breve in byte.
Esempi
Se viene immessa la stringa vuota, dovrebbe essere emessa la stringa vuota.
Il prossimo esempio più banale è l'input
0
che dovrebbe diventare
1
Grande esempio - Input:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Produzione:
1
1
1
2
1
3
1
2
1
2
1
1
2
3
4
2
3
1
2
3
2
1
1
2
1
2
3
4
5
6
7
8
9
10
11
1
1
1
12
1
3
4
5
1
1
1
1
1
1
2
2
2
2
2
2
1
2
1
2
6
7
S=[]\nfor w in input()[:-1].split('0\n'):S=([0]+S)[~len(w):];S[0]+=1;print w+`S[0]`