CFCF2172H.Shuffling Cards with Problem Solver 68!

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

爱露喜欢玩纸牌游戏(扑克、德州扑克、Balatro 等),她已经掌握了洗牌的艺术,尤其是完美的洗牌技巧。现在她正在和睦月一起玩游戏,该由她洗牌了!

然而,睦月知道爱露的洗牌技巧实在太完美了。实际上,给定一副偶数张的牌,爱露总是进行完美的洗牌:她将牌组等分成两份,然后交错地合并在一起。形式上,如果牌堆用长度为 nn 的字符串 ss 表示,其中 sis_i 表示从顶端开始的第 ii 张牌,那么一次洗牌后得到的新牌堆为

s=s1+sn/2+1+s2+sn/2+2++sn/2+sns' = s_1 + s_{n/2 + 1} + s_2 + s_{n/2 + 2} + \ldots + s_{n/2} + s_n。

睦月还知道,每次爱露洗牌时都会精确地进行 tt 次洗牌。

现在睦月手上有一副 2k2^k 张的牌,用一个字符串 dd 表示。在把牌组交给爱露之前,睦月可以选择切牌,也就是把牌顶的一部分牌移动到牌底。形式上,她可以任选 mm0m2k10 \leq m \leq 2^k - 1,得到新的牌堆

d=dm+1+dm+2++d2k+d1+d2++dmd' = d_{m+1} + d_{m+2} + \ldots + d_{2^k} + d_1 + d_2 + \ldots + d_m。

在这 2k2^k 种切牌方式中,睦月希望选择一种,使得经过爱露洗牌 tt 次后,最终得到的牌堆字典序最小。你能帮她找到这个结果吗?

输入格式

第一行包含两个整数 kktt,表示牌组的规模参数和爱露洗牌的次数。

第二行包含一个长度为 2k2^k 的小写字母字符串 dd,表示睦月手里的原始牌堆。

  • 1k181 \leq k \leq 18
  • 0t1090 \leq t \leq 10^9

输出格式

输出一行,表示在睦月先切牌、爱露洗牌 tt 次后,最终可能获得的字典序最小的牌堆。

输入输出样例

  • 输入#1

    4 2
    baaabaaabaaabaaa

    输出#1

    aaaaaaaaaaaabbbb
首页