P8637 [蓝桥杯 2016 省 B] 交换瓶子
import java.util.*;
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] arr=new int[n+1];
boolean[] judge=new boolean[n+1];
for (int i=1;i<=n;i++)
{
arr[i]=sc.nextInt();
if (i!=arr[i])
{
judge[i]=true;
}
}
int ans=0;
for (int i=1;i<=n;i++)
{
if (!judge[i])
{
continue;
}
int num=arr[i];
judge[i]=false;
while (true)
{
if (!judge[num])
{
break;
}
else
{
judge[num]=false;
num=arr[num];
ans++;
}
}
}
System.out.println(ans);
}
}