贪心
如果a[i]>a[i+1],a[i]去掉,即前面的数要小于后面的数
#include<stdio.h.>
#include<string.h>
#include<stdlib.h>
char str[1100];
int a[1100],b[1100];
int main()
{
int n,i,len,num;
while(scanf("%s%d",str,&n)!=-1)
{
if(str[0]=='0'&&n==0)break;
for(i=0;str[i]!='\0';i++)
a[i]=str[i]-'0';
num=0;len=i;
for(i=0;i<len-1&&n>0;i++)
{
if(a[i]<=a[i+1])
{
b[num++]=a[i];
}
else
{
n--;
while(b[num-1]>a[i+1]&&n>0)//处理b[]比a[i+1]大的数
num--,n--;
}
}
for(i;i<len;i++)
b[num++]=a[i];
for(i=0;i<num-n;i++)
if(b[i]!=0)break;
if(i==num-n)
puts("0");
else
{
for(i;i<num-n;i++)
printf("%d",b[i]);
printf("\n");
}
}
return 0;
}