#P828. 排列排序

排列排序

题目描述

如果一个整数序列 a1,a2,,ana_1,a_2,\dots,a_n 的每个数字都在 11nn 之间,且没有两个数字相等,则称这个序列为全排列。例如1,3,21,3,2 以及 4,3,2,14,3,2,1 都是全排列。

我们将所有的全排列排序,定义全排列 a1,a2,,ana_1,a_2,\dots,a_nb1,b2,,bmb_1,b_2,\dots,b_m 的排序先后关系如下:

  • 如果 n<mn<m,则 aa 序列更靠前
  • 如果 n>mn>m,则 bb 序列更靠前
  • 如果 n=mn=m,则以字典序规则比较 aa 序列与 bb 序列,字典序更小的序列更靠前。

根据上述定义,可以得到

  • 11 个全排列是 11
  • 22 个全排列是 1 21~2
  • 33 个全排列是 2 12~1
  • 44 个全排列是 1 2 31~2~3

给定 kk,请输出第 kk 个全排列。

输入格式

  • 单个整数:表示 kk

输出格式

  • 单独一行:表示第 kk 个全排列
5
1 3 2

数据范围

  • 30%30\% 的数据 1k10001\leq k\leq 1000
  • 60%60\% 的数据 1k1,000,0001\leq k\leq 1,000,000
  • 100%100\% 的数据 1k10151\leq k\leq 10^{15}