| Codeforces Round 1081 (Div. 2) |
|---|
| Закончено |
Вам даны $$$2$$$ массива, $$$a$$$ и $$$b$$$, оба длиной $$$n$$$. Вы можете выполнить следующую операцию:
Вы можете выполнять операцию любое количество раз (возможно, ноль), но каждый индекс может быть выбран только один раз для операции. Ваша задача — сделать так, чтобы $$$a$$$ стало перестановкой $$$b$$$ после всех операций или заявить, что это невозможно. Вам не нужно минимизировать количество операций.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 10^6$$$).
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1,a_2,\ldots,a_n$$$ ($$$1 \leq a_i \leq n$$$).
Третья строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$b_1,b_2,\ldots,b_n$$$ ($$$1 \leq b_i \leq n$$$).
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^6$$$.
Для каждого набора входных данных выведите $$$-1$$$, если невозможно сделать так, чтобы $$$a$$$ стало перестановкой $$$b$$$. В противном случае выведите две строки в следующем формате:
Если есть несколько возможных ответов, вы можете вывести любой.
441 1 3 32 2 4 431 2 13 3 131 2 32 3 141 2 2 43 1 4 3
2 2 4 -1 0 2 3 4
В первом наборе входных данных выполненные операции — обмен $$$a_2, b_2$$$ и обмен $$$a_4,b_4$$$, что даёт $$$a = [1,2,3,4]$$$ и $$$b = [2,1,4,3]$$$. Теперь возможно получить $$$a$$$ перестановкой элементов $$$b$$$.
Во втором наборе входных данных можно показать, что независимо от того, какие операции мы выполняем, мы не можем сделать так, чтобы $$$a$$$ стало перестановкой $$$b$$$.
| Название |
|---|


