火星人

火星人

http://www.nowcoder.com/questionTerminal/9fa3c84d3efe40d5ac2a1b6736f85171

解题思路

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;
}
全部评论

相关推荐

双非坐过牢:非佬,可以啊10.28笔试,11.06评估11.11,11.12两面,11.19oc➕offer
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务