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;  

}  

你可能感兴趣的:(HDU)