31 lines
1.1 KiB
Java
31 lines
1.1 KiB
Java
// Author: Rodney Shaghoulian
|
|
// Github: github.com/RodneyShag
|
|
// HackerRank: hackerrank.com/RodneyShag
|
|
|
|
import java.util.Scanner;
|
|
|
|
// - Our input provides us "n" values of x and p(x)
|
|
// - p(x) is a 1-to-1 function, so it has an inverse.
|
|
// - We create the function representing the inverse of p(x), and represent it as an array: int [] p_inverse
|
|
// - We need find a y where p(p(y)) = x. This equation can be rewritten as y = p_inverse(p_inverse(x)), which is the version of the equation we use to calculate and print "y".
|
|
|
|
public class Solution {
|
|
public static void main(String[] args) {
|
|
/* Create function: p_inverse */
|
|
Scanner scan = new Scanner(System.in);
|
|
int n = scan.nextInt();
|
|
int [] p_inverse = new int[n + 1];
|
|
for (int x = 1; x <= n; x++) {
|
|
int px = scan.nextInt();
|
|
p_inverse[px] = x;
|
|
}
|
|
scan.close();
|
|
|
|
/* Calculate and print each y */
|
|
for (int x = 1; x <= n; x++) {
|
|
int y = p_inverse[p_inverse[x]];
|
|
System.out.println(y);
|
|
}
|
|
}
|
|
}
|