此题咋一看有点畸形(咋有这么奇葩的生物),再一看原来是考察全排列,最朴素的做法就是生成全排列,再查找输出,可惜该生物过于奇葩,手指太多,会超时。于是C++的优势就出来了,直接用next_permutation.用法如下。
#include<cstdio>
#include<algorithm>
using namespace std;
int a[10000+10];
int main()
{
int n,k;
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
while(k--)
{
next_permutation(a+1,a+1+n);
}
for(int i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
return 0;
}