poj 1833 排列

Posted by 111qqz on Thursday, July 2, 2015

TOC

http://poj.org/problem?id=1833

还是next_permutation.

这次是Int类型的

需要注意的是next_permutation是先判断时候有后继,返回一个bool值,如果为true,就转化到后继。

而next_permutation函数本书不考虑其值,就具有转化成后继的作用。

而且默认最后一个排列的下一个排列是第一个排列。

/* ***********************************************
Author :111qqz
Created Time :2016年02月19日 星期五 15时43分58秒
File Name :1833.cpp
************************************************ */

#include <algorithm>
#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
#include <map>

using namespace std;
const int N=3E3+5;
int n ,m,k;
int a[N],b[N];

int main()
{
    cin>>m;
    while (m--)
    {
        cin>>n>>k;
      //  k = k % n;

        for ( int i = 0;i < n ; i++ )
        {
            scanf("%d",&a[i]);
        }
        while (k--)
        {
            next_permutation(a,a+n);
        }
        for ( int i = 0 ; i < n ; i++ )
        {
            printf("%d ",a[i]);
        }
        printf("\n");


    }


    return 0;
}

「真诚赞赏,手留余香」

111qqz的小窝

真诚赞赏,手留余香

使用微信扫描二维码完成支付