#include #include using namespace std; int main(int argc, char** argv) { ios::sync_with_stdio(false); while(cin.good()){ int numCnt, swaps = 0; cin >> numCnt; if (!cin.good()) return 0; int * index = new int[numCnt+1]; int * nums = new int[numCnt+1]; for(int i=1; i<=numCnt; ++i){ int num; cin >> num; index[num] = i; nums[i] = num; } for(int i=1; i<=numCnt; ++i){ if (index[i] == i) { continue; } int a,b, aIndex, bIndex; a = nums[i]; b = i; aIndex = index[a]; bIndex = index[b]; nums[bIndex] = a; nums[aIndex] = b; index[a] = bIndex; index[b] = aIndex; swaps++; } cout << swaps << endl; } return 0; }