Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def me(a):
- c = [-1]*len(a)
- n = -101
- for i in range(len(a)):
- if c[i]==-1:
- r = i
- while c[r]==-1:
- c[r] = n
- r = a[r]
- if c[r]==n:
- y = i
- while y!=r:
- c[y] = r
- y = a[y]
- elif c[r]<=-101:
- y = i
- while y!=r:
- c[y] = r
- y = a[y]
- elif c[r]>=0:
- y = i
- while y!=r:
- c[y] = c[r]
- y = a[y]
- n -= 1
- for i in range(len(c)):
- if c[i]<=-101:
- c[i] = i
- return (' '.join(str(x+1) for x in c))
- input()
- a=[int(x)-1 for x in input().split(' ')]
- print(me(a))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement