90pts,求调
查看原帖
90pts,求调
1098642
Restart_zjhcn楼主2024/7/31 12:12
#include<bits/stdc++.h>
using namespace std;
string solve(int len,string s){
    int changed = 0;
    if(len%2){
        for(int i = 0; i < len / 2; i ++ ){
            if(s[i] > s[len-1-i]){
                s[len-i-1] = s[i];
                changed = 1;
            }else if(s[i] < s[len-1-i]){
                s[len-i-1] = s[i];
                changed = 0;
            }
        }
        if(!changed){
            s[len/2] += 1;
        }
    }
    else{
        for(int i = 0; i < len / 2 - 1; i ++ ){
            if(s[i] > s[len-1-i]){
                s[len-i-1] = s[i];
                changed = 1;
            }else if(s[i] < s[len-1-i]){
                s[len-i-1] = s[i];
                changed = 0;
            }
        }
        if(s[len/2-1] > s[len/2]){
            s[len/2] = s[len/2-1];
        }else if(s[len/2-1] < s[len/2]){
            s[len/2-1]++;
            s[len/2] = s[len/2-1];
        }else{
            if(!changed){
                s[len/2]++;
                s[len/2-1]++;
            }
        }
    }
    return s;
}
int main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int n=1;
    while(n--){
        string s;
        cin >> s;int f = 1;
        for(int i = 0; i < s.size(); i ++ ){
            if(s[i]!='9'){
                f=0;
                break;
            }
        }if(f){
            cout<<1;
            for(int i = 0; i < s.size()-1; i ++ ){
                cout << '0';
            }
            cout<<1;
            return 0;
        }
        cout << solve(s.length(),s) << '\n';
    }
}
2024/7/31 12:12
加载中...