#include<iostream>
#include <string>
using namespace std;
int t;
const int maxN = 1000;
bool isDeleted[maxN];//全为false的数组
void fun(string num, int n, int k) {
for (int i = 0; i < k; i++) {//删除几个数
for (int j = 0; j < n; j++) {
if (!isDeleted[j]) {//如果没被删,就看下一位
int next = j + 1;
while (isDeleted[next] && next < n-1) next++;//如果下一位被删了就看下下位
if (num[next] < num[j]&&next!=n) {//遇到更小的下一位就把num[j]删了
isDeleted[j] = true;
break;//一旦删掉一个数就退出当前循环,开始重新删第二个数
}
if (j == n - t - 1) {//如果j到了最后一位即整型后部分递增,那么久删最后一位
isDeleted[j] = true;
t++;//只要以这种形式删掉最后一位后,下次再以这种形式删,末尾下标就应该是n-1-t;
break;
}
}
}
}
}
void printNum(string num, int n) {
for (int i = 0; i < n; i++) {
if (!isDeleted[i])
cout << num[i];
}
}
int main() {
string num;
int k;
cin >> num;
cin >> k;
fun(num, num.size(), k);
printNum(num, num.size());
return 0;
}
输入格式:
输入一个长度不超过10的正整数n,和要去掉的位数k。
输出格式:
输出n在去掉k位数后的最小生成数。
输入样例:
在这里给出一组输入。例如:
251 1
输出样例:
在这里给出相应的输出。例如:
21