#A319. 自由配对

自由配对

题目描述

nn 个人,编号分别为 1n1\sim n,需要把他们两两配对。

每个人 有且只有一个 想要组队的对象:第 ii 个人想和 aia_i 号组队。 若 ii 的组队对象是 jj,且 jj 的组队对象也是 ii,那么这两个人就可以成功组成一支队伍。

求这些人最多能组成多少支队伍。

输入格式

  • 第一行:一个整数 nn
  • 第二行nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n,其中 aia_i 表示第 ii 个人想要组队的编号

输出格式

输出一个整数,表示最终成功组队的队伍数量。

4
3 3 2 1
1

说明

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

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

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

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

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

数据范围

覆盖比例 nn 的范围
30% 2n102 \le n \le 10
60% 2n10002 \le n \le 1000
100% 2n1000002 \le n \le 100\,000

并保证 aiia_i \ne i(没人想和自己组队)。