# 官方题解|欢乐赛#42 T4
2025-03-12 15:25:56
发布于:浙江
12阅读
0回复
0点赞
T4
本题是一个很经典的问题,你可以暴力按照字典序搜索到第 小的数字,也可以直接灵活运用 next_permutation
来进行求解,如果选择后者那么你要先构造一个长度为 的字典序最小的序列。
#include <bits/stdc++.h>
using namespace std;
const int N = 10;
int a[N];
int main(){
int n, m;
cin >> n >> m;
for(int i = 1; i <= n; i ++ ) a[i] = i;
int cnt = 0;
do{
cnt ++;
if(cnt == m){
for(int i = 1; i <= n; i ++) {
cout << a[i] << " ";
}
break;
}
}while(next_permutation(a + 1, a + 1 + n));
return 0;
}
这里空空如也
有帮助,赞一个