#P1885. Uncompress
Uncompress
描述
对于不包含任何数字字符的文本文件,可以使用一种简单的压缩方案。该压缩方案需要创建一个未压缩文件中所有单词的列表。当在未压缩文件中遇到非字母字符时,它会被直接复制到压缩文件中。当在未压缩文件中遇到一个单词时,只有当这是该单词的首次出现时,它才会被直接复制到压缩文件中,并且该单词会被放在列表的前面。如果这不是该单词的首次出现,则该单词不会被复制到压缩文件中,而是将其在列表中的位置复制到压缩文件中,然后将该单词移到列表的前面。列表位置的编号从1开始。
编写一个程序,将压缩文件作为输入,并生成原始未压缩文件的复制品作为输出。你可以假设任何单词的长度都不超过50个字符,并且原始未压缩文件不包含任何数字字符。
对于这个问题,单词被定义为一个由大写和小写字母组成的最大序列。单词区分大小写——单词abc与单词Abc不同。例如:
x-ray包含2个单词:x和ray
Mary's包含2个单词:Mary和s
It's a winner包含4个单词:It、s、a和winner
输入
输入中不会有超过10000个不同的单词。输入的结束由单独一行上的数字0表示。这个终止的0仅表示输入的结束,不应作为你的程序产生的输出的一部分。
输出
输出原始的未压缩文件。
输入数据 1
Dear Sally,
Please, please do it--1 would 4
Mary very, 1 much. And 4 6
8 everything in 5's power to make
14 pay off for you.
-- Thank 2 18 18--
0
输出数据 1
Dear Sally,
Please, please do it--it would please
Mary very, very much. And Mary would
do everything in Mary's power to make
it pay off for you.
-- Thank you very much--