P2525 Uim的情人节礼物·其之壱 prev_permutaion
題目描述
情人節到了,Uim打算給他的后宮們準備情人節禮物。UIm一共有N(1<=N<=9)個后宮妹子(現充去死 挫骨揚灰!)。
為了維護他的后宮的穩定。他通過編程,得出了一個送禮物的最佳順序。這個我們管不著。
然而他認為,如果什么事情做得太圓滿不是什么好事。于是他希望得到 原定順序 的 前一個字典序的序列。
輸入格式
第一行一個整數N
第二行N個整數,表示原定排列
輸出格式
前一個排列
輸入輸出樣例
輸入 #1復制
3 1 3 2輸出 #1復制
1 2 3說明/提示
若當前排列已經是第一個,則輸出'ERROR'(引號不輸出)
思路:直接使用prev_premutation(a,a+n)求前一個·排列
補充://求下一個排列?
for(int i=1;i<=n;i++){
?? ?a[i]=i;
}
do{
?? ?for(int i=1;i<n;i++){
?? ??? ?cout<<a[i]<<" ";
?? ?}
?? ?cout<<a[n]<<endl;
}while(next_permutation(a+1,a+n+1));
代碼如下:
#include <bits/stdc++.h>
using namespace std;
int a[100],n;
int main(){
?? ?cin>>n;
?? ?for(int i=0;i<n;i++){
?? ??? ?cin>>a[i];
?? ?}
?? ?if(prev_permutation(a,a+n)){
?? ??? ?for(int i=0;i<n;i++){
?? ??? ??? ?cout<<a[i]<<" ";
?? ??? ?}
?? ?}
?? ?else cout<<"ERROR";
?? ?return 0;
}
總結
以上是生活随笔為你收集整理的P2525 Uim的情人节礼物·其之壱 prev_permutaion的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [css] 在sass中可以执行布尔运
- 下一篇: 工作279:控制退回的逻辑修改