2346: 自由配对

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:42 解决:21

题目描述

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

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

输入

第一行:一个整数 n
第二行:n 个 整数 a1,a2,…,a,其中 ai 表示 i 号同学希望组队的编号。

输出

单个整数,表示成功组队的小组数量。

样例输入 复制

4
3 3 2 1

样例输出 复制

1

提示

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


数据范围:
对于 30% 的数据,2≤n≤10
对于 60% 的数据,2≤n≤1000
对于 100% 的数据,2≤n≤100000,
数据保证 ai≠i


来源/分类