您的位置:首页 > 其它

hdoj1027 Ignatius and the Princess II

2012-08-16 10:57 309 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1027

题意就是要把1到n的所有排列按字典排序(升序)定义为由小到大。1 2 3 4 5 6 ……n 为最小的排序。问第m小的排序什么样的。

/*排列问题
此题可以用C++STL的函数next_permutation来做
*/
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n, m;
int i;
int a[1001];
while (cin >> n >> m) {
for (i = 0; i <= n; i++)
a[i] = i;
for (i = 1; i < m; i++)
next_permutation(a+1, a+n+1);
cout << a[1];
for (i = 2; i <= n; i++)
cout << " " << a[i];
cout << endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: