倒数排列

有一天,小易把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=' ')

您的代码已保存
答案正确:恭喜!您提交的程序通过了所有的测试用例

posted @ 2020-08-13 20:45  Andy_George  阅读(183)  评论(0编辑  收藏  举报