eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Взлом кода дерева

Взлом кода дерева

\includegraphics{https://static.e-olymp.com/content/cc/cc8a15c4c87b4c7e92efe076a394dd47b084fd99.jpg} Пусть \textbf{V = \{1, 2, …, n\}}, а \textbf{E \{\{u, v\} | 1 }≤\textbf{ u, v }≤\textbf{ n\}}. Дерево \textbf{T = (V, E)} является связным графом и содержит в точности \textbf{n-1} ребро. Например, дерево \textbf{T_1} показано на рисунке ниже. \includegraphics{https://static.e-olymp.com/content/9d/9d2372ca789360204366e77fdb1b55bbb4b0f361.jpg} Для дерева \textbf{T_1} имеем: \textbf{V = \{1,2,3,4,5,6,7\}, E = \{\{4, 6\}, \{2, 6\}, \{6, 5\}, \{3, 5\}, \{5, 1\}, \{1, 7\}\}}. Профессор Минтон обнаружил, как можно закодировать дерево. Код дерева представляет собой последовательность \textbf{n - 2} чисел из \textbf{V}. Например, \textbf{T_1} может кодироваться последовательностью \textbf{<6, 5, 6, 5, 1>}. Последовательность считается разрушенной, если некоторые числа пропущены в ней. Будем использовать алфавит \textbf{x} для представления пропущенных чисел в последовательности. По заданному дереву и разрушенной последовательности следует найти пропущенные числа. \InputFile Первая строка содержит количество тестов \textbf{t}. Вторая строка содержит значение \textbf{n}. Третья строка описывает дерево и содержит \textbf{2n - 2} числа, разделенные пробелом. Первая пара чисел задает первое ребро; вторая пара - второе ребро; и так далее. Четвертая строка содержит разрушенныую последовательность в виде \textbf{n - 2} чисел, разделенных пробелом, причем некоторые из них обозначены символом \textbf{x}, что указывает на их отсутствие. \OutputFile Содержит \textbf{t} строк, по одной для каждого теста. Каждая строка должна содержать последовательность пропущенных чисел в том же порядке как и на входе.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
1
7
4 6 2 6 6 5 3 5 5 1 1 7
6 x x 5 1
Выходные данные #1
5 6