Олимпиадный тренинг

Задача . C. Троичный XOR


Число называется троичным, если оно содержит только цифры \(0\), \(1\) и \(2\). Например, следующие числа являются троичными: \(1022\), \(11\), \(21\), \(2002\).

Вам задано длинное троичное число \(x\). Первая (самая левая) цифра числа \(x\) гарантированно является \(2\), остальные цифры числа \(x\) могут быть \(0\), \(1\) или \(2\).

Определим троичную операцию XOR \(\odot\) над двумя троичными числами \(a\) и \(b\) (оба имеют длину \(n\)) как число \(c = a \odot b\) длины \(n\), где \(c_i = (a_i + b_i) \% 3\) (где \(\%\) — операция взятия по модулю). Другими словами, сложим соответствующие цифры и возьмем остатки от сумм при делении на \(3\). Например, \(10222 \odot 11021 = 21210\).

Ваша задача — найти такие троичные числа \(a\) и \(b\) (оба длины \(n\) и без лидирующих нулей), что \(a \odot b = x\) и \(max(a, b)\) — минимально возможный.

Вам нужно ответить на \(t\) независимых наборов входных данных.

Входные данные

Первая строка теста содержит одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных. Затем следуют \(t\) наборов входных данных. Первая строка набора содержит одно целое число \(n\) (\(1 \le n \le 5 \cdot 10^4\)) — длину числа \(x\). Вторая строка набора содержит троичное число \(x\), состоящее из \(n\) цифр \(0, 1\) и \(2\). Гарантируется, что первой цифрой числа \(x\) является \(2\). Также гарантируется, что сумма всех \(n\) по всем наборам входных данных не превосходит \(5 \cdot 10^4\) (\(\sum n \le 5 \cdot 10^4\)).

Выходные данные

Для каждого набора входных данных выведите ответ на него — два троичных числа \(a\) и \(b\) (каждое длины \(n\) и без лидирующих нулей) таких, что \(a \odot b = x\) и \(max(a, b)\) — минимально возможное. Если есть несколько возможных ответов, вы можете вывести любой.


Примеры
Входные данныеВыходные данные
1 4
5
22222
5
21211
1
2
9
220222021
11111
11111
11000
10211
1
1
110111011
110111010

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя