Codeforces Round 793 (Div. 2) |
---|
Finished |
Alice had a permutation $$$p$$$ of numbers from $$$1$$$ to $$$n$$$. Alice can swap a pair $$$(x, y)$$$ which means swapping elements at positions $$$x$$$ and $$$y$$$ in $$$p$$$ (i.e. swap $$$p_x$$$ and $$$p_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,
Unfortunately, Bob shuffled the sequence of swaps written by Alice.
You are given Alice's permutation $$$p$$$ and the swaps performed by Alice in arbitrary order. Can you restore the correct sequence of swaps that sorts the permutation $$$p$$$? 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 $$$2$$$ integers $$$n$$$ and $$$m$$$ $$$(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 $$$n$$$ integers $$$p_1, p_2, ..., p_n$$$ ($$$1 \le p_i \le n$$$, all $$$p_i$$$ are distinct) — the elements of $$$p$$$. It is guaranteed that $$$p$$$ forms a permutation.
Then $$$m$$$ lines follow. The $$$i$$$-th of the next $$$m$$$ lines contains two integers $$$x_i$$$ and $$$y_i$$$ — the $$$i$$$-th swap $$$(x_i, y_i)$$$.
It is guaranteed that it is possible to sort $$$p$$$ with these $$$m$$$ swaps and that there is no way to sort $$$p$$$ with less than $$$m$$$ swaps.
Print a permutation of $$$m$$$ integers — a valid order of swaps written by Alice that sorts the permutation $$$p$$$. See sample explanation for better understanding.
In case of multiple possible answers, output any.
4 3 2 3 4 1 1 4 2 1 1 3
2 3 1
6 4 6 5 1 3 2 4 3 1 2 5 6 3 6 4
4 1 3 2
In the first example, $$$p = [2, 3, 4, 1]$$$, $$$m = 3$$$ and given swaps are $$$[(1, 4), (2, 1), (1, 3)]$$$.
There is only one correct order of swaps i.e $$$[2, 3, 1]$$$.
In the second example, $$$p = [6, 5, 1, 3, 2, 4]$$$, $$$m = 4$$$ and the given swaps are $$$[(3, 1), (2, 5), (6, 3), (6, 4)]$$$.
One possible correct order of swaps is $$$[4, 2, 1, 3]$$$.
There can be other possible answers such as $$$[1, 2, 4, 3]$$$.
Name |
---|