Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.44 KB | None | 0 0
  1. def dfs(n, g):
  2.     if g[n] is not None:
  3.         gg = g[n]
  4.         g[n] = None
  5.         for adj in gg:
  6.             dfs(adj, g)
  7.         return 1
  8.     return 0
  9.  
  10.  
  11. a = [int(input())-1 for _ in range(int(input()))]
  12. graph = [[] for _ in range(len(a))]
  13. for i in range(len(a)):
  14.     graph[i].append(a[i])
  15.     graph[a[i]].append(i)
  16. cmp = 0
  17. for i in range(len(a)):
  18.     cmp += dfs(i, graph)
  19.  
  20. print(len(a)-len(set(a)) + (0 if cmp == 1 else cmp))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement