#P2181. 2024.10.13-ZJTD-第2题-字典序

2024.10.13-ZJTD-第2题-字典序

题目内容

小塔有一个长为n的只由0011组成的串ss,他需要恰好对ss执行kk次交换操作。小塔想要使得ss的字典序最小,

请你帮帮他求出最小字典序的ss吧。 选择两个不同的下标并交换这两个位置上的值称为一次交换,使用数学的方式描述,即选择和jj(1i<jn1≤i<j≤n)并交换sisisjsj。 当且仅当满足以下条件之一时,字符串aa按字典顺序小于字符串bb:

  1. aabb的前缀,但是aba≠b
  2. 对于aabb的第一个不相同的位置,字符串aa中的字母在字母表中的位置前于bb中相应的字字母。

输入描述

每个测试文件均包含多组测试数据。

第一行输入一个整数TT(1T1041≤T≤10^4)代表数据组数,每组测试数据描述如下:

第一行输入两个整数nnkk(2n2×1052≤n≤2×10^51k1091≤k≤10^9)代表ss的长度和操作次数。

第二行输入一个长为nn,且只由'00'和'11'组成的字符串ss。 除此之外,保证所有的nn之和不超过2×1052×10^5

输出描述

对于每一组测试数据,在一行上输出一个长度为nn,且只由0011组成的字符串,代表进行了恰好kk次操作后,字典序最小的ss

样例1

输入

2
6 2
110000
2 10
11

输出

000011
11

说明

对于第一组测试数据,需要恰好进行k=2k=2次操作,依次交换s1s6s1,s6s2s5s2,s5