#2218. 自由配对

自由配对

题目描述

nn 名同学,编号分别为 11nn,我们需要将他们两两配对,每个同学有且只有一个愿意组队的对象,若 ii 号同学的组队对象是 jjjj 的组队对象也是 ii,那么这两位同学可以组队。

请这些同学可以组成多少个配对。

输入格式

  • 第一行:一个整数 nn
  • 第二行:nn 个 整数 a1,a2,,ana_1,a_2,…,a_n,其中 aia_i 表示 ii 号同学希望组队的编号。

输出格式

  • 单个整数,表示成功组队的小组数量。
4
3 3 2 1
1

样例解释

1号同学想和3号同学组队,

2号同学想和3号同学组队,

3号同学想和2号同学组队,

4号同学想和1号同学组队,

因此2号与3号同学组队成功,共成功组成1个小组。

数据范围

  • 对于 30%30\% 的数据,2n102≤n≤10
  • 对于 60%60\% 的数据,2n10002≤n≤1000
  • 对于 100%100\% 的数据,2n100,0002≤n≤100,000
  • 数据保证 ai=ia_i=i