Ambiguous Permutations - explanation

http://garakchy.blogspot.com/2013/12/my-c-solution-to-codechef-permut2.html

alt text

some explanation:
1 - use 1-based array
2 - think of inverse permutation as bijection function       
3 - create inverse(Y) function(permutation) of given array(X)
4 - if array(X) and its inverse(Y) is equal to each other then the function(permutation) is ambiguous
NOTE: all my ideas hold variability due to my lack of math and programming knowledge. thanx

by the way, if any of you wanna contribute your solutions to our blog:http://garakchy.blogspot.com/ pls feel free to contact me: garakchy at yahoo dot com