这是一道交互题,本题仅支持 C++。
法老们利用行星的引力来加速飞船。假设飞船将依次以
科学家已经确认,总共有
你要对
实现细节
请在程序开头引入库 perm.h
。你要实现以下函数:
int[] construct_permutation(int64 k);
是应有的递增子序列的数量。- 该函数要返回有
个元素的数组,每个元素是 到 之间(包括 和 )的数。 - 返回的数组必须是恰好有
个递增子序列的合法排列。 - 该函数总共被调用
次。每次调用被视为一个独立的场景。
输入格式
评测程序示例按以下格式读取输入:
- 第
行: 。 - 第
行( ): 。
输出格式
评测程序示例按以下格式输出:
对于每个 construct_permutation
调用的返回值。如果出错则打印错误信息。
样例一
input
2 3 8
output
2 1 0 3 0 1 2
explanation
考虑以下调用:
construct_permutation(3);
该函数应该返回一个恰好有
考虑另一个调用:
construct_permutation(8);
该函数应该返回一个恰好有
约束条件
。 (对所有 )。
子任务
- (
分) (对所有 )。如果你给出的所有排列长度至多为 且结果正确,你将获得 分,否则获得 分。 - (
分)没有额外的约束条件。对该子任务,令 为你在所有场景中给出的排列的最大长度,则你的得分按下表来计算:
条件 | 得分 |
---|---|
时间限制:
空间限制: