#70056. 【例题 4-4】信息解码 Message Decoding

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: admin

题目描述

UVA213

考虑下面的 串序列:

0,00,01,10,000,001,010,011,100,101,110,0000,0001,···,1101,1110,00000,···

首先是长度为 的串,然后是长度为 的串,依此类推。如果看成二进制,相同长度的后一个串等于前一个串加 。注意上述序列中不存在全为 的串。你的任务是是编写一个解码程序。

输入格式

可能有多组数据,对于每组数据,首先输入一个编码头,则上述序列的每个串依次对应编码头的每一个字符。接下来是编码文本(可能有多行组成,你应当把它们拼成一个长长的 串)。编码文本由多个小节组成,每个小节的前三个数字代表小节中每个编码的长度(用二进制表示),然后是各个字符的编码,以全 结束(例如,编码长度为 的小节以 结束)。编码文本以编码长度为 的小节结束。

输出格式

对于每组数据,输出其编码文本解码后的结果。

样例

样例 1

样例输入 1

TNM AEIOU 
0010101100011 
1010001001110110011 
11000 
$#**\ 
0100000101101100011100101000

样例输出 1

TAN ME 
##*\$
编辑器加载中 …