解题思路

1.获取输入n,m
2.获取火星人手指的排列顺序,存放在数组a[N]中
3.加m的结果相当于,以当前排列顺序为基础,进行m次全排列后的排列顺序。因此循环m次,调用next_permutation函数进行全排列
4.输出m次全排列后的数组a,以空格隔开

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int n,m;
    cin>>n>>m;
    int a[n];
    //获取火星人的排列顺序
    for (int i = 0; i < n; ++i)
    {
        cin>>a[i];
    }
    //加m,即进行m次全排列
    for (int i = 0; i < m; ++i)
    {
        next_permutation(a,a+n);
    }
    //输出m次全排列后的数组a
    for (int i = 0; i < n; ++i)
    {
        cout<<a[i]<<" ";
    }
    return 0;
}