Codeforces Round 732 (Div. 2) |
---|
Закончено |
У AquaMoon было $$$n$$$ строк длины $$$m$$$ каждая. $$$n$$$ — нечетное число.
Когда AquaMoon отошла, Cirno попыталась разбить эти $$$n$$$ строк на пары. После того, как она сделала $$$\frac{n-1}{2}$$$ пару, она обнаружила, что осталась ровно одна строка без пары!
В гневе она перемешала каждую пару строк. Для каждой пары она выбрала некоторые позиции (хотя бы $$$1$$$ и не более, чем $$$m$$$) и обменяла символы в двух строках этой пары на выбранных позициях.
Например, если $$$m = 6$$$ и две строки «abcdef» и «xyzklm» в одной паре и Cirno выбрала позиции $$$2$$$, $$$3$$$ и $$$6$$$ она поменяет 'b' с 'y', 'c' с 'z' и 'f' с 'm'. В результате строки станут «ayzdem» и «xbcklf».
Затем Cirno украла строку, оставшуюся без пары, и расположила все оставшиеся строки в некотором порядке.
AquaMoon обнаружила оставшуюся $$$n-1$$$ строку в полном беспорядке. Также, она помнит изначальные $$$n$$$ строк. Она хочет узнать, какую строку украли, но она не очень хороша в программировании. Можете ли вы помочь ей?
Эта задача сделана как интерактивная. Это означает, что ваше решение будет считывать входные данные, которые вывел интерактор. Однако, интерактор выведет полные входные данные в начале, и после этого вы должны будете вывести ответ. Поэтому вы должны решать задачу так, как если бы вы решали обычную, не интерактивную задачу, потому что у вас не будет никакого процесса взаимодействия. Единственная вещь, про которую вы не должны забыть — это сбросить буфер выходного потока после вывода ответа. Иначе ваше решение может получить вердикт «Решение «зависло»». Обратитесь к руководству по интерактивным задачам для более детальной информации про сброс буфера выходного потока.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится единственное целое число $$$t$$$ ($$$1 \leq t \leq 100$$$) — количество наборов входных данных.
В первой строке описания каждого набора входных данных содержится два целых числа $$$n$$$, $$$m$$$ ($$$1 \leq n \leq 10^5$$$, $$$1 \leq m \leq 10^5$$$) — количество строк и длина каждой строки, соответственно.
Следующие $$$n$$$ строк каждая содержат строку длины $$$m$$$, описывающую изначальные $$$n$$$ строк. Все строки состоят из символов латинского алфавита в нижнем регистре.
Следующая $$$n-1$$$ строка каждая содержит строку длины $$$m$$$, описывающую строки, после того, как Cirno сделала обмены и переставила их.
Гарантируется, что $$$n$$$ нечетно и что сумма $$$n \cdot m$$$ по всем наборам входных данных не превосходит $$$10^5$$$.
Формат теста для взлома:
В первой строке должно находиться единственное целое число $$$t$$$. После этого должно следовать описание $$$t$$$ наборов входных данных в следующем формате:
В первой строке должно находиться два целых числа $$$n$$$ и $$$m$$$.
В следующих $$$n$$$ строках должны быть записаны $$$n$$$ строк длины $$$m$$$, описывающих изначальные строки.
Следующие $$$\frac{n-1}{2}$$$ строк должны описывать пары. Каждая должна содержать в следующем порядке: индекс первой строки $$$i$$$ ($$$1 \leq i \leq n$$$), индекс второй строки $$$j$$$ ($$$1 \leq j \leq n$$$, $$$i \neq j$$$), количество позиций для обмена $$$k$$$ ($$$1 \leq k \leq m$$$) и список из $$$k$$$ позиций, в которых будет сделан обмен ($$$k$$$ различных индексов от $$$1$$$ до $$$m$$$ в любом порядке).
В последней строке должна находиться перестановка из целых чисел от $$$1$$$ до $$$n$$$, описывающая способ, которым строки будут перемешаны. Строки будут расположены в том порядке, в котором индексы следуют в перестановке, индекс украденной строки при этом будет пропущен.
Для каждого набора входных данных выведите украденную строку в единственной строке.
3 3 5 aaaaa bbbbb ccccc aaaaa bbbbb 3 4 aaaa bbbb cccc aabb bbaa 5 6 abcdef uuuuuu kekeke ekekek xyzklm xbcklf eueueu ayzdem ukukuk
ccccc cccc kekeke
В первом наборе входных данных в строках «aaaaa» и «bbbbb» обменяли все позиции и «ccccc» является украденной строкой.
Во втором наборе входных данных в строках «aaaa» и «bbbb» обменяли первые две позиции и «cccc» является украденной строкой.
Это первый тест, записанный в формате для взломов:
3
3 5
aaaaa
bbbbb
ccccc
1 2 5 1 2 3 4 5
2 1 3
3 4
aaaa
bbbb
cccc
1 2 2 1 2
2 1 3
5 6
abcdef
uuuuuu
kekeke
ekekek
xyzklm
1 5 3 2 3 6
2 4 3 2 4 6
5 4 1 2 3
Название |
---|