#ASC212. 智能车的传感器编码

智能车的传感器编码

题目描述

智能车的核心控制系统需要通过传感器的排列顺序进行状态编<码。每辆智能车配备有一排编号为 1,2,3…… 的传感器,这些传感器可以通过机械结构调整相对位置,控制系统正是通过传感器的排列顺序来识别不同的工作状态。 传感器的排列顺序与状态编码的对应关系是这样的:所有可能<的排列按字典序从小到大排序,最小的排列对应编码 1,次小的对应编码 2,以此类推,最大的排列对应编码 N!(N 为传感器总数)。例如,当有 3 个传感器时,6种排列对应的编码如下:
排列 1 2 3 对应编码 1
排列 1 3 2 对应编码 2
排列 2 1 3 对应编码 3
排列 2 3 1 对应编码 4
排列 3 1 2 对应编码 5
排列 3 2 1 对应编码 6
现在需要对智能车的状态进行调整:已知当前传感器的排列顺序和需要增加的编码值 M,要求计算调整后的传感器排列顺序(即当前编码加上 M 后的对应排列)。输入数据保证调整后的编码不会超过最大可能编码值。

输入格式

三行,第一行有一个正整数 N,表示智能车传感器的数目(1≤N≤10000)。第二行是一个正整数 M,表示要增加的编码值(1≤M≤100)。下一行是 1 到 N 这 N 个整数的一个排列,用空格隔开,表示当前传感器的排列顺序。

输出格式

只有一行,这一行含有 N 个整数,表示调整后的传感器排列顺序。每两个相邻的数中间用一个空格分开,不能有多余的空格。

样例

5
3
1 2 3 4 5
1 2 4 5 3