#ABC233F. 交换排序
交换排序
交换排序
题目描述
有一个 的排列 。
可以进行 种操作,操作 是「交换 的第 个元素和第 个元素」。
能否通过按任意顺序执行总共不超过 次操作,将 排成升序?
如果可以,请给出一个这样的操作序列;如果不行,请报告无法做到。
输入格式
输入按以下格式从标准输入给出:
输出格式
如果可以将 排成升序,请按以下格式输出:
这里, 表示要执行的操作次数, 表示第 次执行的操作是操作 。
注意必须满足 。
如果无法将 排成升序,请输出 -1。
样例
6
5 3 2 4 6 1
4
1 5
5 6
1 2
2 3
3
4 2 1
按如下方式变化:$(5,3,2,4,6,1)\to (5,2,3,4,6,1)\to (5,2,3,4,1,6)\to (1,2,3,4,5,6)$。
5
3 4 1 2 5
2
1 3
2 5
-1
无法将 排成升序。
4
1 2 3 4
6
1 2
1 3
1 4
2 3
2 4
3 4
0
可能一开始就已经排成升序。
此外,以下也是一种可接受的输出:
4
5 5 5 5
注意,并不要求最小化操作次数。
数据范围
- 是 的一个排列
- 当 时,
- 输入中的所有值均为整数
提示
答案不唯一,输出任意合法解即可。
难度
提高+/省选
通过率
—
尝试
0
已通过
0
- ID
- 2358
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 1024MiB
- 上传者