HackerEarth Inverse List problem solution

In this HackerEarth Inverse List problem solution, There are many ways to order a list of integers from 1 to n. For example, if n = 3, the list could be : [3 1 2].

But there is a special way to create another list from the given list of integers. In this list, the position of the integer i is the ith number in the given list. So following this rule, the given list will be written as: [2 3 1]. This list is called the inverse list. Now there exists some list whose inverse list is identical. For example, the inverse list of [1 2 3] is the same as the given list. Given a list of integers you have to determine whether the list is inverse or not.

The input contains several test cases. The first line is the number of test cases t (1 <= t <= 100). The first line of each test case contains an integer n (1 <= n <= 10000). Then a list of the integers 1 to n follows in the next line.


HackerEarth Inverse List problem solution



HackerEarth Inverse List problem solution.

#include <bits/stdc++.h>

using namespace std;

int org [100000 + 10];
int arr [100000 + 10];

int main()
{
int n , t;

cin >> t ;

while( t-- ){

cin >> n;

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

cin >> org[i];
arr[ org[i] ] = i;
}

bool revers = true;

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

if(org[i] != arr[i]){

revers = false;
break;
}
}

if(revers) cout << "inverse\n";
else cout << "not inverse\n";
}

return 0;
}

Post a Comment

0 Comments