UVA213
考虑下面的 串序列:
0,00,01,10,000,001,010,011,100,101,110,0000,0001,···,1101,1110,00000,···
首先是长度为 的串,然后是长度为 的串,依此类推。如果看成二进制,相同长度的后一个串等于前一个串加 。注意上述序列中不存在全为 的串。你的任务是是编写一个解码程序。
可能有多组数据,对于每组数据,首先输入一个编码头,则上述序列的每个串依次对应编码头的每一个字符。接下来是编码文本(可能有多行组成,你应当把它们拼成一个长长的 串)。编码文本由多个小节组成,每个小节的前三个数字代表小节中每个编码的长度(用二进制表示),然后是各个字符的编码,以全 结束(例如,编码长度为 的小节以 结束)。编码文本以编码长度为 的小节结束。
对于每组数据,输出其编码文本解码后的结果。
TNM AEIOU 0010101100011 1010001001110110011 11000 $#**\ 0100000101101100011100101000
TAN ME ##*\$