提交时间:2025-10-07 13:41:25
运行 ID: 38411
#include<bits/stdc++.h> using namespace std; const int N=2e5+5; int n,a[N],t[N],ans[N][2]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; t[a[i]]=i; } int cnt=0; for(int i=1;i<=n;i++){ if(a[i]==i) continue; cnt++; ans[cnt][0]=a[t[i]]; ans[cnt][1]=a[i]; swap(a[t[i]],a[i]); swap(t[i],t[a[i]]); } cout<<cnt<<endl; for(int i=1;i<=cnt;i++){ cout<<ans[i][0]<<" "<<ans[i][1]<<endl; } return 0; }