View Code of Problem 609

#include<stdio.h>
#include<string.h> 
int main()
{   
    char a[1000];
    int k;
    while(scanf("%s%d",a,&k)!=EOF)
    {
        int len=strlen(a);
        while(k--)
        {
            for(int i=0;i<len;i++)           
            {
                if(a[i]>a[i+1])                        //贪心算法,局部数列为降序,则删除当前数字,后面的数字往前移动一位 
                {
                    for(int j=i;j<len;j++)
                        a[j]=a[j+1];
                    break;
                }
            }
            len--;
        }
        while(a[0]=='0')                              //*删除前导0
        {
            for(int i=0;i<len;i++)             
                a[i]=a[i+1];
        }
        if(a[0]==0)
            printf("0\n");
        else
            printf("%s\n",a);
    }
}

Double click to view unformatted code.


Back to problem 609