HDU Ignatius and the Princess II 全排列下第K大数

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iostream>

using namespace std;

#define ll long long
#define N 110000
int s[N];
int main(void)
{
int n, m;

while(scanf("%d%d", &n, &m) != EOF)
{
for(int i = 0; i < n; i++)
s[i] = i + 1;

int t = 1;

int flag = 0;

while(next_permutation(s, s + n))
{
if(flag == 1)
break;

t++;

if(t == m)
{
flag = 1;

for(int i = 0; i < n; i++)
{
if(i != 0 )
printf(" ");

printf("%d", s[i]);
}

}
}

printf(" ");

}

return 0;


}

原文地址:https://www.cnblogs.com/dll6/p/7802327.html