CF1682E.Unordered Swaps

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

Alice had a permutation pp of numbers from 11 to nn . Alice can swap a pair (x,y)(x, y) which means swapping elements at positions xx and yy in pp (i.e. swap pxp_x and pyp_y ). Alice recently learned her first sorting algorithm, so she decided to sort her permutation in the minimum number of swaps possible. She wrote down all the swaps in the order in which she performed them to sort the permutation on a piece of paper.

For example,

  • [(2,3),(1,3)][(2, 3), (1, 3)] is a valid swap sequence by Alice for permutation p=[3,1,2]p = [3, 1, 2] whereas [(1,3),(2,3)][(1, 3), (2, 3)] is not because it doesn't sort the permutation. Note that we cannot sort the permutation in less than 22 swaps.
  • [(1,2),(2,3),(2,4),(2,3)][(1, 2), (2, 3), (2, 4), (2, 3)] cannot be a sequence of swaps by Alice for p=[2,1,4,3]p = [2, 1, 4, 3] even if it sorts the permutation because pp can be sorted in 22 swaps, for example using the sequence [(4,3),(1,2)][(4, 3), (1, 2)] .

Unfortunately, Bob shuffled the sequence of swaps written by Alice.

You are given Alice's permutation pp and the swaps performed by Alice in arbitrary order. Can you restore the correct sequence of swaps that sorts the permutation pp ? Since Alice wrote correct swaps before Bob shuffled them up, it is guaranteed that there exists some order of swaps that sorts the permutation.

输入格式

The first line contains 22 integers nn and mm (2n2105,1mn1)(2 \le n \le 2 \cdot 10^5, 1 \le m \le n - 1) — the size of permutation and the minimum number of swaps required to sort the permutation.

The next line contains nn integers p1,p2,...,pnp_1, p_2, ..., p_n ( 1pin1 \le p_i \le n , all pip_i are distinct) — the elements of pp . It is guaranteed that pp forms a permutation.

Then mm lines follow. The ii -th of the next mm lines contains two integers xix_i and yiy_i — the ii -th swap (xi,yi)(x_i, y_i) .

It is guaranteed that it is possible to sort pp with these mm swaps and that there is no way to sort pp with less than mm swaps.

输出格式

Print a permutation of mm integers — a valid order of swaps written by Alice that sorts the permutation pp . See sample explanation for better understanding.

In case of multiple possible answers, output any.

输入输出样例

  • 输入#1

    4 3
    2 3 4 1
    1 4
    2 1
    1 3

    输出#1

    2 3 1
  • 输入#2

    6 4
    6 5 1 3 2 4
    3 1
    2 5
    6 3
    6 4

    输出#2

    4 1 3 2

说明/提示

In the first example, p=[2,3,4,1]p = [2, 3, 4, 1] , m=3m = 3 and given swaps are [(1,4),(2,1),(1,3)][(1, 4), (2, 1), (1, 3)] .

There is only one correct order of swaps i.e [2,3,1][2, 3, 1] .

  1. First we perform the swap 22 from the input i.e (2,1)(2, 1) , pp becomes [3,2,4,1][3, 2, 4, 1] .
  2. Then we perform the swap 33 from the input i.e (1,3)(1, 3) , pp becomes [4,2,3,1][4, 2, 3, 1] .
  3. Finally we perform the swap 11 from the input i.e (1,4)(1, 4) and pp becomes [1,2,3,4][1, 2, 3, 4] which is sorted.

In the second example, p=[6,5,1,3,2,4]p = [6, 5, 1, 3, 2, 4] , m=4m = 4 and the given swaps are [(3,1),(2,5),(6,3),(6,4)][(3, 1), (2, 5), (6, 3), (6, 4)] .

One possible correct order of swaps is [4,2,1,3][4, 2, 1, 3] .

  1. Perform the swap 44 from the input i.e (6,4)(6, 4) , pp becomes [6,5,1,4,2,3][6, 5, 1, 4, 2, 3] .
  2. Perform the swap 22 from the input i.e (2,5)(2, 5) , pp becomes [6,2,1,4,5,3][6, 2, 1, 4, 5, 3] .
  3. Perform the swap 11 from the input i.e (3,1)(3, 1) , pp becomes [1,2,6,4,5,3][1, 2, 6, 4, 5, 3] .
  4. Perform the swap 33 from the input i.e (6,3)(6, 3) and pp becomes [1,2,3,4,5,6][1, 2, 3, 4, 5, 6] which is sorted.

There can be other possible answers such as [1,2,4,3][1, 2, 4, 3] .

首页