#4480. 排列(permutation)
排列(permutation)
【题目描述】
有一个排列,现在小可以不断地交换排列中的两个数,小想让这个排列变成一个单位排列,但他不会求最少的操作次数,你可以帮帮他吗?
注意:单位排列指对于任意的,满足的排列。
【输入格式】
输入文件名为permutation.in。
第一行一个正整数,表示测试点数目。
对于每一个测试点,第一行一个数,表示排列长度。
接下来一行个数,表示排列。
【输出格式】
输出文件名为permutation.out。
对于每一个测试点,输出一行一个数,表示最少的交换次数。
1
5
3 4 2 5 1
4
【样例解释】
一种可行的交换次的方案为:
$3~4~2~5~1 \rightarrow 1~4~2~5~3 \rightarrow 1~2~4~5~3 \rightarrow 1~2~3~5~4 \rightarrow 1~2~3~4~5$
【样例2】
见下发文件。
【数据范围】
对于 的数据,满足 。
对于 的数据,满足。
对于 的数据,满足 。
Related
In following contests: