小青的文件压缩小游戏
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
提高文件的压缩率一直是人们追求的目标。近几年有人提出了这样一种算法,它虽然只是单纯地对文件进行重排,本身并不压缩文件,但是经这种算法调整后的文件在大多数情况下都能获得比原来更大的压缩率。
题目描述
小青有一个长度为 n 的字符串 S(仅由小写英文字母组成),还有一个数字 p(1 ≤ p ≤ n),代表字符串 S 中第 p 个字符的位置。现在需要按照以下规则还原出“压缩后的字符串”:
- 首先把字符串 S 的所有字符按字典序从小到大排列,得到新字符串 T;
- 找到 T 中第一个和 S[p-1](S 的第 p 个字符)相同的字符,这个字符是还原结果的最后一个字符,然后把 T 中这个字符标记为已使用(不再重复选);
- 接下来,从 T 的末尾往前找,找到第一个和上一步选中的字符相同的 S 中的字符对应的位置,这个位置的字符是还原结果的倒数第二个字符,同样标记 T 中该字符为已使用;
- 重复步骤 3,直到选完所有 n 个字符;
- 最后把选出的字符倒序输出,就是最终的“压缩还原结果”。
举例: 是 example
- 构造 个字符串。
plain
example
xamplee
ampleex
mpleexa
pleexam
leexamp
eexampl
- 将字符串排序。
plain
ampleex
example
eexampl
leexamp
mpleexa
pleexam
xamplee
- 压缩结果。
,
由于英语单词构造的特殊性,某些字母对出现的频率很高,因此在 中相同的字母有很大几率排在一起,从而提高 的压缩率。虽然这种算法利用了英语单词的特性,然而在实践的过程中,人们发现它几乎适用于所有的文件压缩。
请你编一个程序,读入 和 ,输出字符串 。
保证 仅含小写字母(所以输入的 也仅含小写字母)。
输入格式
共三行。
第一行是一个整数 (),代表 的长度。
第二行是字符串 。
第三行是整数 。
输出格式
一行,。
输入输出样例 #1
#输入 #1
7
xelpame
7
#输出 #1
example