编程题
### 问题描述 大衣有一个长度为 $N$ 的二进制字符串 $S$ 和一个整数 $K$。 他想在 $K$ 次操作后最大化 $S​$ 十进制数的值,每次可以进行如下操作中的一种: - 操作 $1$:将字符 $0$ 插入到字符串 $S$ 中的任一位置。 - 操作 $2$:将字符串中的任一字符 $0$ 改为 $1$。 请找出 $K​$ 次操作后的字符串 $S​$。 ### 输入格式 第一行输入一个正整数 $T$ 表示测试数据的组数。 接下来 $T$ 组测试数据每组输入两行: - 第一行输入两个正整数 $N,K$ 分别表示字符串的长度和操作的次数。 - 第二行输入一个长度为 $N$ 的二进制字符串 $S$。 ### 输出格式 对于每组测试数据,输出 $K$ 次操作后的字符串 $S​$,并换行。 ### 样例输入1 ```text 4 4 2 1101 6 3 001110 5 4 00110 3 1 000 ``` ### 样例输出1 ```text 110100 10111000 10110000 100 ``` ### 说明 - 样例 $1​$:进行两次操作 $1​$ 并将字符 $0​$ 加到字符串的末尾,得到字符串 $110100​$,其十进制值 $52​$ 是最大的。 - 样例 $2$:先进行一次操作 $2$,将最前面的字符 $0$ 改为 $1$ 得到字符串 $101110$,然后进行两次操作 $1$ 并将字符 $0$ 加到字符串的末尾,得到字符串 $10111000$,其十进制值 $184$ 是最大的。 ### 评测数据规模 对于所有的评测数据,$1\le T\le 20$,$1\le N,K\le 10^4$,$S_i$ 为 $0$ 或 $1$。
查看答案
赣ICP备20007335号-2