通过不同环中个数减一进行相加计算,各个环中数量为a1,a2,a3·····;
sum=a1-1+a2-1+a3-1+·······;
#include <bits/stdc++.h>
using namespace std;
const int N=10010;
int a[N];
int n;
bool st[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
int res=0;
for(int i=1;i<=n;i++)
{
int t=a[a[i]];
st[a[i]]=true;
int cnt=1;
while(!st[i]&&t!=a[i])
{
st[t]=true;
t=a[t];
cnt++;
}
res+=cnt-1;
}
cout<<res<<endl;
return 0;
}