Evanyou Blog 彩带

  题目传送门

火星人

格式难调,题面就不放了。


  分析:

  这道题目不得不又让人感叹,还是$STL$大法好!!!

  $C++$的$algorithm$库中自带有$next\_permutation()$和$prev\_permutation()$函数,可以自动生成一个排列的下一个或上一个排列,那么这道题不久轻松被切了嘛~

  $STL$真的是个好东西。

  Code:

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<iostream>
#include<iomanip>
#include<algorithm>
using namespace std;

int n,m,a[10001];

int main()
{
    ios::sync_with_stdio(false);
    cin>>n>>m;
    for(int i=1; i<=n; ++i) {
        cin>>a[i];
    }
    while( m-- ) next_permutation(a+1,a+n+1);
    for(int i=1; i<n; ++i) cout<<a[i]<<" ";
    cout<<a[n];
    return 0;
}
原文地址:https://www.cnblogs.com/cytus/p/9544871.html