倒数排列
有一天,小易把1到n的所有排列按字典序排成一排。小易从中选出了一个排列,假设它是正数第Q个排列,小易希望你能回答他倒数第Q个排列是什么。
例如1到3的所有排列是:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
若小易选出的排列是1 2 3,则Q = 1,而你应该输出排列3 2 1
输入描述:
第一行数字n,表示排列长度
接下来一行n个数字,表示选出的排列
1<=n<=300000
输出描述:
一行n个数字,表示所求的排列。
输入例子1:
3
1 2 3
输出例子1:
3 2 1
输入例子2:
5
3 1 5 2 4
输出例子2:
3 5 1 4 2
参考:
考察思路与逻辑,通过分析可以看出来,位置相对称的两个排列,对应位数字之和为n+1,直接计算输出就行了
n = int(input()) a = list(map(int, input().split())) for i in a: print(n+1-i, end=' ')
您的代码已保存
答案正确:恭喜!您提交的程序通过了所有的测试用例

浙公网安备 33010602011771号