http://acm.hdu.edu.cn/showproblem.php?pid=1027
使用了next_permutation()函数
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
const int maxn = 100005 ;
int num[ maxn ] ;
int main()
{
int n , m ;
while( cin >> n >> m )
{
if( n == 0 && m == 0 )
break ;
for( int i = 0 ; i <= n ; ++i )
num[ i ] = i ;
while( m != 1 )
{
next_permutation( num + 1 , num + 1 + n ) ;
m-- ;
}
for( int i = 1 ; i < n ; ++i )
cout << num[ i ] << " " ;
cout << num[ n ] << endl ;
}
return 0 ;
}