信息解码 Message Decoding

题意翻译

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

题目描述

[problemUrl]: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=4&page=show_problem&problem=149 [PDF](https://uva.onlinejudge.org/external/2/p213.pdf) ![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA213/9340e3ff8ff8441ea7eb703f93537c47ff70598c.png)

输入输出格式

输入格式


![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA213/4260f73fa0b027409fa6d97c233479e4dbdc3dcd.png)

输出格式


![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA213/13bf5c4546534e2875ec1ffea2658a273e2d3ecf.png)

输入输出样例

输入样例 #1

TNM AEIOU 
0010101100011 
1010001001110110011 
11000 
$#**\ 
0100000101101100011100101000

输出样例 #1

TAN ME 
##*\$