hdu 1027 输出第m个全排列(next_permutation)

Sample Input
6 4 //输出第4个全排列
11 8

Sample Output
1 2 3 5 6 4
1 2 3 4 5 6 7 9 8 11 10

 

 1 # include <cstdio>
 2 # include <iostream>
 3 # include <algorithm>
 4 using namespace std ;
 5 
 6 int a[2000] ;
 7 
 8 int main ()
 9 {
10     int n , m ;
11     while (scanf("%d %d" , &n , &m) != EOF)
12     {
13         int i ;
14         for (i = 1 ; i <= n ;i++)
15            a[i] = i ;
16         int num = 1 ;
17         while (num < m)
18         {
19             next_permutation(a+1 , a+1+n) ;
20             num++ ;
21         }
22         for (i = 1 ; i <= n-1 ;i++)
23           printf("%d " , a[i]) ;
24         printf("%d\n",a[n]) ;
25     }
26 }
View Code

 

posted @ 2015-05-12 17:16  __Meng  阅读(207)  评论(0编辑  收藏  举报