I have just learned C++ for a few days so i can't know what make me wrong. Please help me!
#include <stdio.h>
int main(void)
{ long f[100000],n,i;
scanf("%d",&n);
while (n!=0)
{ i=1; while (i<n+1) {scanf("%d",f); i++;}
i=1;
while (i<=n)
{if (f[f[i]]!=i) break;
i++;
}
if (i==n+1) printf("ambiguous\n");
else printf("not ambiguous\n");
scanf("%d",&n);
}
}