Escreva um programa que use uma string em que cada linha seja composta pelo caractere 0
recuado por algum número de espaços. A linha superior não é recuada e todas as outras linhas serão recuadas no máximo por mais um espaço do que a linha imediatamente antes dela.
Nenhuma linha terá espaços à direita, mas você pode opcionalmente assumir que há uma nova linha à direita.
Por exemplo, a entrada pode ser algo como isto:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Sua tarefa é numerá-la como um esboço hierárquico , usando números inteiros positivos crescentes como cabeçalhos de linha. Esta seria a saída para o exemplo:
1
1
1
2
2
2
1
2
3
1
3
1
1
2
Observe como todo nível de indentação hierárquica tem seu próprio conjunto de números crescentes, mesmo que eles subam apenas um.
Na saída, não deve haver espaços à direita, mas opcionalmente pode haver uma nova linha à direita.
Escreva um programa completo que aceite a string de entrada via stdin ou linha de comando ou escreva uma função que aceite a string como argumento. Imprima o resultado ou retorne-o como uma sequência.
O código mais curto em bytes vence.
Exemplos
Se a sequência vazia for inserida, a sequência vazia deverá ser gerada.
O próximo exemplo mais trivial é a entrada
0
que deve se tornar
1
Exemplo grande - Entrada:
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
Resultado:
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]`