题义:给定一个数字串,求出这些串的第K小组合串。
代码如下:
#include <cstdio>
#include <algorithm>
using namespace std;
int num[1005];
int main( )
{
int N, M;
while( scanf( "%d %d", &N, &M )!= EOF )
{
for( int i= 1; i<= N; ++i )
{
num[i]= i;
}
while( --M )
{
next_permutation( num+ 1, num+ N+ 1 );
}
for( int i= 1; i<= N; ++i )
{
printf( i== N? "%d\n": "%d ", num[i] );
}
}
return 0;
}