n = int(input())
nums = list(map(int,input().split()))
visited = [False]n
ans = 0
for i in range(n):
if visited[i]:
continue
if i+1 == nums[i]:
visited[i] = True
continue
if i == nums[nums[i]-1]-1:
visited[i] = True
visited[nums[i]-1] = True
ans += 1
print(ans + (len(nums)-ans2-1))
例子:3 1 2 5 4
正确:1 2 3 4 5
发现 5 - 4 , 4 - 5 所以只需要交换一次
我们把满足这样条件的一对数个数找到放到ans里
最后剩余的不满足这样条件的就是贪心每次放选一个放到他应该在位置,ans += 剩余的数字 的个数 - 1
发现一个答案也不对...