采用C++库函数next_permutation直接生成下一位排列数
#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
vector<int> a;
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
int x;cin>>x;
a.push_back(x);
}
while(m--)
{
next_permutation(a.begin(),a.end());
}
for(auto c : a)
{
cout<<c<<" ";
}
}