小塔有一个长为n的只由0和1组成的串s,他需要恰好对s执行k次交换操作。小塔想要使得s的字典序最小,
请你帮帮他求出最小字典序的s吧。 选择两个不同的下标并交换这两个位置上的值称为一次交换,使用数学的方式描述,即选择和j(1≤i<j≤n)并交换si和sj。 当且仅当满足以下条件之一时,字符串a按字典顺序小于字符串b:
每个测试文件均包含多组测试数据。
第一行输入一个整数T(1≤T≤104)代表数据组数,每组测试数据描述如下:
第一行输入两个整数n和k(2≤n≤2×105;1≤k≤109)代表s的长度和操作次数。
第二行输入一个长为n,且只由'0'和'1'组成的字符串s。 除此之外,保证所有的n之和不超过2×105。
对于每一组测试数据,在一行上输出一个长度为n,且只由0和1组成的字符串,代表进行了恰好k次操作后,字典序最小的s。
输入
2
6 2
110000
2 10
11
输出
000011
11
说明
对于第一组测试数据,需要恰好进行k=2次操作,依次交换s1,s6和s2,s5。
扫码备注加群即可,期待您的到来~
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.