CF1855A.Dalton the Teacher

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Dalton the Teacher

题目描述

Dalton the Teacher

Dalton是一位老师,他有 nn 名学生,每名学生的编号为 1n1\sim n ,教室里有 nn 把椅子,椅子的编号也是 1n1\sim n 。一开始学生 ii 坐在凳子 pip_i 上,可以保证 pip_i 这个数不会出现多次,且 pinp_i \le n

如果一个学生的编号与他(她)的椅子编号不相同,那么学生就会高兴。为了让所有学生都开心,Dalton可以将两个不同的学生交换椅子的编号,文让所有学生开心至少需要多少次交换?可以证明,在这个问题的约束下,用有限的动作让所有学生都感到高兴是可能的。

输入格式

第一行一个 tt ( 1t1000 1 \le t \le 1000 ),表示测试用例的数量。

对于每个测试用例,第一行一个 nn (2n1052\le n\le 10^5) 表示学生人数。

第二行一共 nn 各种整数 p1,p2,,pn p_1, p_2, \ldots, p_n ( 1pin 1 \le p_i \le n )表示学生 ii 的初始椅子编号。

保证所有测试用例的nn总额不超过10510^5

输出格式

对于每个测试用例,输出所需的最小移动次数。

样例

5
2
2 1
3
1 2 3
5
1 2 5 4 3
4
1 2 4 3
10
10 2 1 3 6 5 4 7 9 8
0
2
2
1
1

在线编程 IDE

建议全屏模式获得最佳体验