#include<cstdio>
int main(){
int i, n, nott=0, temp, step=0, posi[100010];
scanf("%d",&n);
nott=n-1;
for(i=0;i<n;i++){
scanf("%d",&temp);
posi[temp]=i;
if(i==temp&&temp!=0)nott--;
}
int k=1;
while(nott>0){
if(posi[0]==0){
while(k<n){
if(posi[k]!=k){ temp=posi[0]; posi[0]=posi[k]; posi[k]=temp;step++;break;}
k++;
}
}
while(posi[0]!=0){
temp=posi[posi[0]]; posi[posi[0]]=posi[0]; posi[0]=temp;
step++;nott--;
}
}
printf("%d\n",step);
return 0;
}
PAT-A1067
最新推荐文章于 2021-02-20 21:48:13 发布