A - Ignatius and the Princess II

桃扇骨 2024-02-18 22:48 134阅读 0赞

给你N个整数,分别是1,2,3,。。。N。问你全排列的第M个排列为多少?

Input

The input contains several test cases. Each test case consists of two numbers, N and M(1<=N<=1000, 1<=M<=10000). You may assume that there is always a sequence satisfied the BEelzebub’s demand. The input is terminated by the end of file.

Output

For each test case, you only have to output the sequence satisfied the BEelzebub’s demand. When output a sequence, you should print a space between two numbers, but do not output any spaces after the last number.

Sample Input

  1. 6 4
  2. 11 8

Sample Output

  1. 1 2 3 5 6 4
  2. 1 2 3 4 5 6 7 9 8 11 10

#include
#include
#include

#include
using namespace std;
#define LL long long

int main()
{
//freopen(“1.txt”,”r”,stdin);
int n,m,i,j;

while(~scanf(“%d%d”,&n,&m))
{
int a[n];
for(i=0;i<n;i++)
a[i]=i+1;
i=1;
int k=0;
while(next_permutation(a,a+n))
{
k++;
if(k==m-1)
{
for(i=0;i<n;i++)
if(i==0)
printf(“%d”,a[i]);
else
printf(“ %d”,a[i]);
printf(“\n”);
break;
}
}
}
return 0;
}

发表评论

表情:
评论列表 (有 0 条评论,134人围观)

还没有评论,来说两句吧...

相关阅读