View Code of Problem 609

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main(){
    string n;
    int s;
    while(cin>>n>>s){
        while(s--){//删除s个数字,每次删一个
            for(int i=0;i<n.length();i++){
                if(n[i]>n[i+1]||i==n.length()-1){//前一个数字更大的时候就删除,没有就到最后一个数字删除他
                    n.erase(i,1);
                    break;//记得跳出循环
                }
            }
        }
        int i=0;
        for(i=0;i<n.length();){//解决删除掉数字后,高位数字是0的情况,eg:50004
            if(n[i]=='0')
                i++;
            else
                break;
        }
        if(i<n.length())
            cout<<n.substr(i)<<endl;
        else
            cout<<0<<endl;
    }
    return 0;
}






Double click to view unformatted code.


Back to problem 609