HDU 1027 Ignatius and the Princess II

题目大意:求n个数的第m中全排列……

题解:直接用强大的STL,next_permutation:求序列的下一个排列,还有一种prev_permutation:求上一个全排列……

#include <cstdio>  
#include <algorithm>  
using namespace std;  
int main(){  
    int n,m;  
    while(~scanf("%d%d",&n,&m)){  
        int a[1010];  
        for(int i=0;i<n;i++)a[i]=i+1;  
        while(--m)next_permutation(a,a+n);  
        for(int i=0;i<n;i++){  
            if(i)printf(" %d",a[i]);
            else printf("%d",a[i]);    
        }puts("");
    }  
    return 0;  
}