题目链接:1.火星人 - 蓝桥云课 (lanqiao.cn)
解题思路:只要判断全排列从小到大的序数等于加上的数的大小即可,也就是排列加上的数的次数。
下面是c++代码:
#include <iostream>
#include<algorithm>
using namespace std;
int main()
{
// 请在此输入您的代码
int n, m, arr[10000], index = 1;
cin >> n >> m;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
do {
if (index == m + 1) {
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
break;
}
index++;
} while (next_permutation(arr, arr + n));
return 0;
}