Ambiguous Permutations

- its not that much difficult, small logic
- scan till you reach n=0
- for each test case let your array be 1-indexed(that is your array index starts from 1,2 and so on, that is a[1],a[2],…)
- now traverse your array, check whether a[a[i]]=i or not
- if it satisfies for every element of your array then your array is ambiguous
- else it is not.
- i hope you understand the logic if you face any difficulties comment below.
- happy coding

thanx i got it

i got tle

please figre out where i am wrong

include <bits/stdc++.h>

using namespace std;

int main() {

// your code goes here

int A[100000],n,i;

while(1)

{

int flag=0;

cin>>n;

for(i=1;i<=n;i++)

cin>>A[i];

for(i=1;i<=n;i++){

if(A[A[i]]==i)

flag=1;

}

if(flag==1)

{

cout<<“ambiguous”<<endl;

}

else

{

cout<<“not ambiguous”<<endl;

}

}

return 0;

ohhh you are using while(1) and no break in your program so your program continues to run and hence leading to TLE.