题目:1224. 交换瓶子
思路:大佬的思路
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int >PII;
const int N=1e4+10;
const int mod=100000007;
int n;
int a[N];
bool sta[N];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
int ans=0;
for(int i=1;i<=n;i++){
if(!sta[i]){
ans++;
int t=i;
if(a[i]==i) sta[i]=1;
while(t!=a[t]){
if(sta[t]) break;
sta[t]=1;
t=a[t];
}
}
}
cout<<n-ans;
return 0;
}