题目要求
分析
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;
}