Напишите программу, которая принимает строку, в которой каждая строка состоит из символа с 0
отступом на некоторое количество пробелов. Верхняя строка не имеет отступа, и каждая вторая строка будет иметь отступ не более чем на один пробел перед строкой.
Никакие строки не будут содержать завершающие пробелы, но вы можете при желании предположить, что есть одна завершающая новая строка.
Например, входные данные могут выглядеть примерно так:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Ваша задача состоит в том, чтобы нумеровать его как иерархическую схему , используя увеличивающиеся положительные целые числа в качестве заголовков строк. Это будет вывод для примера:
1
1
1
2
2
2
1
2
3
1
3
1
1
2
Обратите внимание, что каждый уровень иерархического отступа имеет свой собственный набор увеличивающихся чисел, даже если они доходят только до одного.
В выводе не должно быть завершающих пробелов, но при желании может быть один завершающий перевод строки.
Напишите полную программу, которая принимает входную строку через стандартный ввод или командную строку, или напишите функцию, которая принимает строку в качестве аргумента. Напечатайте результат или верните его в виде строки.
Самый короткий код в байтах побеждает.
Примеры
Если введена пустая строка, пустая строка должна быть выведена.
Следующим самым тривиальным примером является ввод
0
который должен стать
1
Большой пример - вход:
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
Выход:
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]`