HDU 1027 [Ignatius and the Princess II]STL全排列

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1027

题目大意:求1-N的数列的第M个有序全排列

关键思想:用STL的next_permutation函数。或者康托展开

代码如下:

//STL全排列应用 
#include <iostream>
#include <algorithm>
using namespace std;

int main(){
	int n,m;
	int a[1010];
	while(cin>>n>>m){
		for(int i=0;i<1010;i++)a[i]=i;
		while(--m&&next_permutation(a+1, a+n+1));
		for (int i = 1 ;i < n;i ++ ) cout << a[i] << " " ;
		cout <<a[n]<< endl;
	}
	return 0;
}
 

  

posted @ 2017-02-17 15:15  哇咔咔咔  阅读(126)  评论(0编辑  收藏  举报