Problem 1024 - Easy Job

这题WA到死。。。就是找不出错误,然后终于找出来了但是不知道具体应该怎么改……实在想不出debug的方法,后来还是看了人家的代码按照别人的思路写了下。丢人啊……

不多说,直接上AC代码

#include<stdio.h>
char s[20010];
int main()
{
    int n,k,m,i,top,end;

    while(scanf("%d%d",&n,&k)!=EOF)
    {
        m=k;
        scanf("%s",&s[1]);
        s[0]=10+'0';
        top=0;end=1;
        while(end<=n&&k)
        {
            if(s[top]>=s[end])
            {
                s[++top]=s[end++];
            }
            else
            {
                top--;
                k--;
            }
        }
        while(end<=n)
        {
            s[++top]=s[end++];
        }
        for(i=1;i<=n-m;i++)
            printf("%c",s[i]);
        printf("\n");
    }
    return 0;
}

 

posted @ 2013-08-10 18:31  hjf007  阅读(218)  评论(0编辑  收藏  举报