HDOJ 1027 Ignatius and the Princess II

 

题意:给一个树组,长度为1,2,3。。。n ,求全排序里面第m小的序列。

思路:调用库函数next_permutation 水过

其中库中另一函数prev_permutation与next_permutation相反,由原排列得到字典序中上一次最近排列。

 

6939564 2012-10-18 11:10:31 Accepted 1027 31MS 260K 306 B C++ 罗维

 

View Code
 1 #include <iostream>

 2 #include <algorithm>

 3 using namespace std;

 4 

 5 int main()

 6 {

 7     int f[1002];

 8     int n, m, i;

 9     while (cin>>n>>m)

10     {

11         for (i=0; i<n; i++)

12             f[i] = i+1;

13         m--;

14         while(m--)

15             next_permutation(f, f+n);

16         cout<<f[0];

17         for (i=1; i<n; i++)

18             cout<<" "<<f[i];

19         cout<<endl;

20     }

21 }

 

 

你可能感兴趣的:(NAT)