1258: ZIP-2
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:3
解决:2
题目描述
提高文件的压缩率一直是人们追求的目标。近几年有人提出了这样一种算法,它虽然只是单纯地对文件进行重排,本身并不压缩文件,但是经这种算法调整后的文件在大多数情况下都能获得比原来更大的压缩率。
该算法具体如下:对一个长度为n的字符串S,首先根据它构造n个字符串,其中第i个字符串由将S的前i-1个字符置于末尾得到。然后把这n个字符串按照首字符从小到大排序,如果两个字符串的首字符相等,则按照它们在 S 中的位置从小到大排序。排序后的字符串的尾字符可以组成一个新的字符串 S’,它的长度也是 n,并且包含了 S 中的每一个字符。最后输出 S’以及 S 的首字符在 S’中的位置 p。举例:
S: example
1、构造n个字符串
example
xamplee
ampleex
mpleexa
pleexam
leexamp
eexampl
2、将字符串排序
ampleex
example
eexampl
leexamp
mpleexa
pleexam
xamplee
3、输出
xelpame ---- S’
7 ---------- p
由于英语单词构造的特殊性,某些字母对出现的频率很高,因此在 S’中相同的字母有很大几率排在一起,从而提高 S’的压缩率。虽然这种算法利用了英语单词的特性,然而在实践的过程中,人们发现它几乎适用于所有的文件压缩。
读入 S’ 和 p,输出字符串 S。
输入
输入第一行 T 表示一共有几组测试用例,对于每组测试用例:
包含三行,第 1 行是一个整数 n(1 ≤ n ≤ 10000),代表 S’ 的长度,第 2 行是字符串 S’,第 3 行是整数 p。
输出
输出一共有 T 行,对于每个测试用例输出一行 S。
样例输入 复制
1
7
xelpame
7
样例输出 复制
example