思路:
首先我们想到的是直接删掉最大的数,可是发现错了,举个反例就知道了:
2639 1
显然删掉9不是最佳的答案
那我们考虑到底要删掉什么
然后又显然要删掉6
于是我们得出:删掉第一个比后面一位大的数
发现举了几个例子都没问题
c o d e code code
#include<iostream>
#include<cstdio>
using namespace std;
int n;
string s;
int main()
{
cin>>s>>n;
while(n--)
{
int q=0;
for(int i=0; i<s.size(); i++)
if(s[i]>s[i+1])
{
q=i;
break;
}
s.erase(q, 1);
}
int i=0;
while(s[i]=='0'&&i<s.size()-1)i++;
while(i<s.size())cout<<s[i], i++;
return 0;
}