题解:P1088 [NOIP 2004 普及组] 火星人
分析
可以发现手指数目为
那么问题就转化为求
STL 中提供了函数 next_permutation,可以在
那么对火星人手指的排列顺序进行 next_permutation 即可。
时间复杂度
Code
#include<bits/stdc++.h>
#define i64 long long
using namespace std;
constexpr int N=10005;
int n,m,a[N];
int main(){
cin>>n>>m;
for(int i=1;i<=n;++i)cin>>a[i];
for(int _=1;_<=m;++_)next_permutation(a+1,a+n+1);
for(int i=1;i<=n;++i)cout<<a[i]<<' ';
return 0;
}