poj 1833 排列

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

还是next_permutation.

这次是Int类型的

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

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

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

 1
 2   
 3   /* ***********************************************
 4   Author :111qqz
 5   Created Time :2016年02月19日 星期五 15时43分58秒
 6   File Name :1833.cpp
 7   ************************************************ */
 8   
 9   #include <algorithm>
10   #include <cstdio>
11   #include <iostream>
12   #include <cstring>
13   #include <string>
14   #include <cmath>
15   #include <map>
16   
17   using namespace std;
18   const int N=3E3+5;
19   int n ,m,k;
20   int a[N],b[N];
21   
22   int main()
23   {
24       cin>>m;
25       while (m--)
26       {
27           cin>>n>>k;
28         //  k = k % n;
29   
30           for ( int i = 0;i < n ; i++ )
31           {
32               scanf("%d",&a[i]);
33           }
34           while (k--)
35           {
36               next_permutation(a,a+n);
37           }
38           for ( int i = 0 ; i < n ; i++ )
39           {
40               printf("%d ",a[i]);
41           }
42           printf("\n");
43   
44   
45       }
46   
47   
48   	return 0;
49   }
50   
51