3091: 自由配对
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:7
解决:7
题目描述
有 �n 名同学,编号分别为 11 到 �n,我们需要将他们两两配对组成队伍。
每名同学有且只有一个愿意组队的对象,其中第 �i 名同学的组队对象是 ��ai。若 �i 的组队对象是 �j 而 �j 的组队对象也是 �i,那么这两位同学可以组队。
请这些同学可以组成多少个配对。
输入
- 第一行:一个整数 �n
- 第二行:�n 个 整数 �1,�2,…,��a1,a2,…,an,其中 ��ai 表示�i 号同学希望组队的编号。
- 对于 30%30% 的数据,2≤�≤102≤n≤10
- 对于 60%60% 的数据,2≤�≤10002≤n≤1000
- 对于100%100%的数据,2≤�≤1000002≤n≤100000,
- 数据保证 ��≠�ai=i
输出
- 单个整数,表示成功组队的小组数量。
样例输入 复制
4
3 3 2 1
样例输出 复制
1
提示
1号同学想和3号同学组队,
2号同学想和3号同学组队,
3号同学想和2号同学组队,
4号同学想和1号同学组队,
因此2号与3号同学组队成功,共成功组成1个小组。
2号同学想和3号同学组队,
3号同学想和2号同学组队,
4号同学想和1号同学组队,
因此2号与3号同学组队成功,共成功组成1个小组。