next_permutation
prev_permutation
生成第m个 调用m-1次全排列
#include <bits/stdc++.h>
using namespace std;
int main()
{int n,m;while(cin>>n>>m){vector<int>a;for(int i=1;i<=n;i++){a.push_back(i);}int tt=m-1;while(tt--){next_permutation(a.begin(),a.end());}int num=1;for(auto it:a){if(num==1) {cout<<it;num++;}else cout<<" "<<it;}cout<<endl;}
}