すべての行0
がいくつかのスペースでインデントされた文字で構成される文字列を取り込むプログラムを作成します。一番上の行はインデントされず、他のすべての行は、直前の行よりも多くても1スペースだけインデントされます。
行の末尾にスペースはありませんが、オプションで末尾に改行が1つあると想定することもできます。
たとえば、入力は次のようになります。
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
階層的なインデントレベルごとに、1つまでしか増えない場合でも、独自の増加する数字のセットがあることに注意してください。
出力では、末尾のスペースはありませんが、オプションで単一の末尾の改行がある場合があります。
stdinまたはコマンドラインを介して入力文字列を取得する完全なプログラムを作成するか、引数として文字列を取得する関数を作成します。結果を出力するか、文字列として返します。
バイト単位の最短コードが優先されます。
例
空の文字列が入力された場合、空の文字列が出力されます。
次に最も些細な例は入力です
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]`