题目描述
给定一个排列P=P1,P2,ldots,PN,其中P是1,2,ldots,N的排列。
你需要在P上执行以下N−1个操作,每个操作只能执行一次,且顺序可以任意:
你的任务是通过配置操作的顺序将P排序为升序。如果不可能将P排序为升序,则输出-1
。
约束条件
- 所有输入的值均为整数。
- 2leqNleq2times105
- P是1,2,ldots,N的排列。
输入
输入以以下格式从标准输入中给出:
N
P1 P2 ldots PN
输出
如果无法通过配置操作的顺序将P排序为升序,则输出-1
。
否则,输出N−1行,表示一系列将P排序为升序的操作。第i行(1leqileqN−1)应该包含j,其中第i个操作交换Pj和Pj+1。
如果有多个这样的操作序列,任何一个都可以接受。
示例输入1
示例输出1
以下操作序列将P排序为升序:
- 首先,交换P4和P5,得到2,4,1,3,5。
- 然后,交换P2和P3,得到2,1,4,3,5。
- 接着,交换P3和P4,得到2,1,3,4,5。
- 最后,交换P1和P2,得到1,2,3,4,5。
示例输入2
示例输出2