#T2378. 交换轮排序(Swap Round Sorting)
交换轮排序(Swap Round Sorting)
链接: https://cses.fi/problemset/task/1698
板块: Additional Problems II
时限: 1.00 s | 内存: 512 MB
题目描述
给定一个包含 的一个排列的数组,你的任务是用「交换轮」把数组排序。每一轮交换中,你可以选择任意多个互不相交的元素对,并交换每一对。
你的任务是求出最少需要多少轮,并给出每一轮所选的元素对。
输入
第一行包含一个整数 :数组的大小。
第二行有 个整数 :初始的排列。
输出
先输出一个整数 :最少轮数。
然后,对每一轮,输出交换的次数以及每次交换的下标。你可以输出任意合法解。
数据范围
样例输入
5
5 2 1 3 4
样例输出
2
2
1 3
4 5
1
3 5
鲁公网安备37011202002910号