小猪存钱罐
作者:
husheng
,
2022-05-23 12:55:46
,
所有人可见
,
阅读 193
import java.util.*;
public class Main{
static int n;
static int[] p;
public static int find(int x) {
if(p[x]!=x) {
p[x]=find(p[x]);
}
return p[x];
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();
p=new int[n+5];
for(int i=1;i<=n;i++) {
p[i]=i;
}
for(int i=1;i<=n;i++) {
int a=input.nextInt();
if(a!=i)
p[find(a)]=find(i);
}
int cnt=0;
for(int i=1;i<=n;i++) {
if(i==find(i)) {
cnt++;
}
}
System.out.println(cnt);
}
}