自学内容网 自学内容网

[2024年3月10日]第15届蓝桥杯青少组stema选拔赛C++中高级(第二子卷、编程题(5))

参考程序:

#include <bits/stdc++.h>
using namespace std;
string a;
int main() {
    cin >> a;
    int len=a.length();
    bool flag=0;//假定无解
    for(int i=len-1;i>0;i--){
        if (a[i]<a[i-1]){
            for(int j=i,k=len-1;j<k;j++,k--){
                swap(a[j],a[k]);
            }
            for(int j=i;j<=len-1;j++){
                if(a[i-1]>a[j]){
                    swap(a[i-1],a[j]);
                    break;
                }
            }
            flag=1;//有解
            break;
        }
    }
    if(flag==1&&a[0]!='0'){
        cout<<a;
    }else{
        cout<<-1;
    }
    return 0;
}


原文地址:https://blog.csdn.net/weixin_60445850/article/details/144162158

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!