编程题
### 问题描述 幼儿园有 $n$ 个小朋友,分为小班和大班。幼儿园放学时,小朋友排成了一队,老师用一个长度为 $n$ 的字符串 $s$ 来表示现在小朋友们的队伍,小班的小朋友用字符 $0$ 表示,大班的小朋友用字符 $1$ 表示。 例如,字符串 $0110$ 表示幼儿园里一共有 $4$ 个小朋友,小班的一个小朋友排在第一位,后面跟着两个大班的小朋友,最后又是一个小班的小朋友。 老师现在要对小朋友们进行排队,排队的每次操作,老师都可以选择两个位置相邻的小朋友进行交换。老师希望所有小班的小朋友都能排在大班的小朋友之前(即让排序后的字符串字典序最小)。但是因为时间有限,老师最多进行 $k$ 次排队操作。 老师想知道,经过不多于 $k$ 次排队操作,按照排序后使得字符串字典序最小的原则,他最终可以得到的字符串是什么。 ### 输入格式 第一行输入两个整数 $n,k$ ,分别表示幼儿园小朋友的个数和老师最多的排序操作次数。 第二行包含一个长度为 $n$ 字符串,表示幼儿园小朋友的初始队伍。保证字符串中只包含 $0,1$ 两种字符。 ### 输出格式 输出一个字符串,表示老师最终得到的字符串。 ### 样例输入 ``` 6 3 011010 ``` ### 样例输出 ``` 001101 ``` ### 评测数据规模 对于所有评测数据, $1\leq{n}\leq{10^5 },1\leq{k}\leq{10^9 }$ 。
查看答案
赣ICP备20007335号-2