感觉代码不太严谨,求hack
查看原帖
感觉代码不太严谨,求hack
422684
M1saka16I72楼主2023/10/24 21:57

如下

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f;
int main(){
    string a;
    cin >> a;
    int del;
    cin >> del;
    int minn = inf;
    int minx = -1;
    int l = 0,r = del;
    int tmp = del;
    int zeros = 0;
    while(del>0){
        // cout << l << " " << r << " " << del << endl;
        if(l==a.length()-del){
            for(int i=l;i<a.length();i++) a[i] = '-';
            break;
        }
        else{
            zeros = 0;
            minn = inf;
            if(del==1)  r = a.length()-1;
            for(int j=l;j<=r;j++){
                if(a[j]-'0'<minn){
                    minn = a[j]-'0';
                    minx = j;
                }
            }
            if(del==1)  l = minx-1;
            for(int k=l;k<minx;k++){
                if(a[k]=='0')   zeros++;
                a[k] = '-';
            }
            del-=(minx-l-zeros);
            l = minx+1;
            r = l+del;
        }
    }
    string ans = "";
    bool isZero = 0;
    for(int m=0;m<a.length();m++){
        if(a[m]!='-'){
            if(a[m]!='0')   isZero = 1;
            if(isZero)  ans+=a[m];
        }
    }
    if(ans=="") ans = "0";
    cout<<ans;
    return 0;
}
2023/10/24 21:57
加载中...