生成指定序列的前一字典序序列(洛谷P2525题题解,C++语言描述)

题目要求

P2525题目链接

在这里插入图片描述

分析

C++的STL中的prev_permutation函数可以生成前一个排列。
如果可以生成,则返回true,并可以直接用生成的序列;已经为第一个,则返回false。
STL大法好!!!

AC代码(C++语言描述)

#include<bits/stdc++.h>
using namespace std;
int num, array[10];
int main() {
    cin >> num;
    for(int i = 0; i < num; i++) {
        cin>>array[i];
    }
    if(prev_permutation(array, array + num)) {
        for(int i = 0; i < num; i++) {
            cout<<array[i]<<" ";
        }
    } else {
        cout<<"ERROR";
    }
    cout<<endl;
    return 0;
}
发布了479 篇原创文章 · 获赞 972 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/weixin_43896318/article/details/104236803
今日推荐