CF612E.Square Root of Permutation

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

A permutation of length nn is an array containing each integer from 11 to nn exactly once. For example, q=[4,5,1,2,3]q=[4,5,1,2,3] is a permutation. For the permutation qq the square of permutation is the permutation pp that p[i]=q[q[i]]p[i]=q[q[i]] for each i=1... ni=1...\ n . For example, the square of q=[4,5,1,2,3]q=[4,5,1,2,3] is p=q2=[2,3,4,5,1]p=q^{2}=[2,3,4,5,1] .

This problem is about the inverse operation: given the permutation pp you task is to find such permutation qq that q2=pq^{2}=p . If there are several such qq find any of them.

输入格式

The first line contains integer nn ( 1<=n<=1061<=n<=10^{6} ) — the number of elements in permutation pp .

The second line contains nn distinct integers p1,p2,...,pnp_{1},p_{2},...,p_{n} ( 1<=pi<=n1<=p_{i}<=n ) — the elements of permutation pp .

输出格式

If there is no permutation qq such that q2=pq^{2}=p print the number "-1".

If the answer exists print it. The only line should contain nn different integers qiq_{i} ( 1<=qi<=n1<=q_{i}<=n ) — the elements of the permutation qq . If there are several solutions print any of them.

输入输出样例

  • 输入#1

    4
    2 1 4 3
    

    输出#1

    3 4 2 1
    
  • 输入#2

    4
    2 1 3 4
    

    输出#2

    -1
    
  • 输入#3

    5
    2 3 4 5 1
    

    输出#3

    4 5 1 2 3
    
首页