将每个位置的y的数量写下来可以看作是x进制数, 最小的数也就是第一小的数是0,第二小的数是1,所以要把n-1 要注意*数量不同时每位的进制不同,比如m=1时x**x*这个数就是 3|2 进制 最小的是xx也就是00 第二小的是xxy => 01
小红是一名计算机科学家,他正在研究一种特殊的字符串。这个字符串由小写字母 ‘x’
和特殊字符 ‘*’
构成。现在,他想要将这个字符串中的每个字符 ‘*’
替换成 0 到 m 个小写字母 ‘y’
,并将替换后的字符串称为 "xy字符串"
。对于原始字符串 s ,可以用不同替换方式可以得到多种不相同的 "xy字符串"
,小红现在想知道第 n 小的 "xy字符串"
,但是他现在忙于研究 "xy字符串”
的其他性质,你帮他解决这个问题吗?
假定有两个 "xy字符串"
分别为 s1 、 s2 ,这两个 "xy字符串"
满足以下特性:
第一行输入一个数字 T ( 1≤T≤2500 ) ,表示有 T 组测试用例。对于每一组用例:
第一行分别有 3 个数字, l ( 1≤1≤2500 ) , m ( 0≤m≤2500 ), n ( 1≤n≤1018 )。
第二行有一个字符串 s 由 l 个字符构成,字符串由小写字母 'x'
和特殊字符 ‘*’
构成。
对于每组测试用例,输出一行字符串,表示第 n 小的 "xy字符串"
输入
2
4 1 3
x**x
2 4 3
x*
输出
xyyx
xyy
T 组测试用例的字符串 l 加起来不会超过 2500 。对于每组测试用例,可以保证 n 不会超过 不相同的 "xy字符串"
的数量