Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def dfs(n, g):
- if g[n] is not None:
- gg = g[n]
- g[n] = None
- for adj in gg:
- dfs(adj, g)
- return 1
- return 0
- a = [int(input())-1 for _ in range(int(input()))]
- graph = [[] for _ in range(len(a))]
- for i in range(len(a)):
- graph[i].append(a[i])
- graph[a[i]].append(i)
- cmp = 0
- for i in range(len(a)):
- cmp += dfs(i, graph)
- print(len(a)-len(set(a)) + (0 if cmp == 1 else cmp))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement