题目描述:
给了一个序列现在询问他是不是字典升序,不是的话就输出他前一个字典序的序列
题解:
STL伟大!!!!
直接一波prev_permutation
函数解决!
AC代码:
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn = 1e6 + 19;
int a[maxn] = {};
int main()
{
int n;
cin >> n;
for(int i = 1;i <= n;i++) cin >> a[i];
if(prev_permutation(a + 1,a + n + 1)){
for(int i = 1;i <= n - 1;i++){
cout << a[i] << ' ';
}
cout << a[n] << endl;
}
else cout << "ERROR" << endl;
return 0;
}