PKU 1833 排列

/*
可以直接利用STL的功能
*/

#include 
< iostream >
#include 
< algorithm >
using   namespace  std;

bool  cmp( const   int   & a,  const   int   & b)
{
    
return  a  <  b;
}

int  main()
{
    
int  m, n, k, i;
    
int  num[ 1024 ];
    
    scanf(
" %d " & m);
    
while  (m -- )
    {
        scanf(
" %d %d " & n,  & k);
        
for  (i  =   0 ; i  <  n; i ++ )
            scanf(
" %d " & num[i]);
            
        
while  (k -- )
            next_permutation(num, num
+ n, cmp);
            
        
for  (i  =   0 ; i  <  n  -   1 ; i ++ )
            printf(
" %d  " , num[i]);
        printf(
" %d\n " , num[i]);
    }
    
return   0 ;
}

你可能感兴趣的:(pku)