CFCF2172H.Shuffling Cards with Problem Solver 68!
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
爱露喜欢玩纸牌游戏(扑克、德州扑克、Balatro 等),她已经掌握了洗牌的艺术,尤其是完美的洗牌技巧。现在她正在和睦月一起玩游戏,该由她洗牌了!
然而,睦月知道爱露的洗牌技巧实在太完美了。实际上,给定一副偶数张的牌,爱露总是进行完美的洗牌:她将牌组等分成两份,然后交错地合并在一起。形式上,如果牌堆用长度为 n 的字符串 s 表示,其中 si 表示从顶端开始的第 i 张牌,那么一次洗牌后得到的新牌堆为
s′=s1+sn/2+1+s2+sn/2+2+…+sn/2+sn。
睦月还知道,每次爱露洗牌时都会精确地进行 t 次洗牌。
现在睦月手上有一副 2k 张的牌,用一个字符串 d 表示。在把牌组交给爱露之前,睦月可以选择切牌,也就是把牌顶的一部分牌移动到牌底。形式上,她可以任选 m,0≤m≤2k−1,得到新的牌堆
d′=dm+1+dm+2+…+d2k+d1+d2+…+dm。
在这 2k 种切牌方式中,睦月希望选择一种,使得经过爱露洗牌 t 次后,最终得到的牌堆字典序最小。你能帮她找到这个结果吗?
输入格式
第一行包含两个整数 k 和 t,表示牌组的规模参数和爱露洗牌的次数。
第二行包含一个长度为 2k 的小写字母字符串 d,表示睦月手里的原始牌堆。
- 1≤k≤18
- 0≤t≤109
输出格式
输出一行,表示在睦月先切牌、爱露洗牌 t 次后,最终可能获得的字典序最小的牌堆。
输入输出样例
输入#1
4 2 baaabaaabaaabaaa
输出#1
aaaaaaaaaaaabbbb