#P585. 自由配对

自由配对

题目描述

nn 名同学,编号分别为 11nn,我们需要将他们两两配对组成队伍。

每名同学有且只有一个愿意组队的对象,其中第 ii 名同学的组队对象是 aia_i。若 ii 的组队对象是 jjjj 的组队对象也是 ii,那么这两位同学可以组队。

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

输入格式

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

输出格式

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

样例解释 1

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

数据范围

  • 对于 30%30\% 的数据,2n102\leq n \leq 10
  • 对于 60%60\% 的数据,2n10002\leq n \leq 1000
  • 对于100%100\%的数据,2n1000002\leq n \leq 100000
  • 数据保证 aiia_i \neq i