前言
- 法一:递归全排列
- 法二:next_permutation,知道这个之后求排列就非常方便了
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int N, M;
int num[1000];
while (scanf("%d %d", &N, &M) != EOF) {
for (int i = 1; i <= N; i++)
num[i] = i;
for (int i = 1; i < M; i++) // 第M小
next_permutation(num+1, num+N+1);
for (int i = 1; i < N; i++)
cout << num[i] << " ";
cout << num[N] << endl;
}
}