Codeforces Round 652 (Div. 2) |
---|
Закончено |
Ли убирался у себя в дома перед вечеринкой, когда нашел под ковром «грязную» строку. Теперь он хочет очистить строку, но сделать это стильно...
Строка $$$s$$$, которую нашел Ли, является двоичной строкой длины $$$n$$$ (т. е. строка состоит только из символов 0 и 1).
За один шаг, он может выбрать два последовательных символа $$$s_i$$$ и $$$s_{i+1}$$$ и, если символ $$$s_i$$$ равен 1 и $$$s_{i + 1}$$$ равен 0, он может удалить ровно один из символов (Ли может выбрать какой удалить, но не может удалить оба символа одновременно). После удаления строка сжимается.
Ли может сделать произвольное количество шагов (возможно, ни одного шага) и он хочет сделать строку $$$s$$$ как можно более чистой. Он считает, что из двух различных строк $$$x$$$ и $$$y$$$ более короткая строка чище, а если они равны по длине, то чище та, что лексикографически меньше.
Сейчас же вам необходимо ответить на $$$t$$$ наборов входных данных: для $$$i$$$-го набора, выведите самую чистую строку, которую может получить Ли за произвольное количество шагов.
Небольшое напоминание: если у нас есть две строки $$$x$$$ и $$$y$$$ равной длины, то $$$x$$$ лексикографически меньше чем $$$y$$$, если существует такая позиция $$$i$$$, что $$$x_1 = y_1$$$, $$$x_2 = y_2$$$,..., $$$x_{i - 1} = y_{i - 1}$$$ и $$$x_i < y_i$$$.
В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
В следующих $$$2t$$$ строках заданы сами наборы входных данных — по одному на две строки.
В первой строке каждого набора задано одно целое число $$$n$$$ ($$$1 \le n \le 10^5$$$) — длина строки $$$s$$$.
Во второй строке задана сама бинарная строка $$$s$$$. Строка $$$s$$$ — это строка длины $$$n$$$, состоящая только из нулей и единиц.
Гарантируется, что сумма $$$n$$$ по всем наборам не превосходит $$$10^5$$$.
Выведите $$$t$$$ ответов — по одному на набор входных данных.
Ответом на $$$i$$$-й набор является самая чистая строка, которую может получить Ли за произвольное (возможно, нулевое) количество шагов.
5 10 0001111111 4 0101 8 11001101 10 1110000000 1 1
0001111111 001 01 0 1
В первом наборе входных данных, Ли не может сделать ни одного шага.
Во втором наборе, Ли должен удалить $$$s_2$$$.
В третьем наборе, Ли может, например, выполнить следующие шаги: 11001101 $$$\rightarrow$$$ 1100101 $$$\rightarrow$$$ 110101 $$$\rightarrow$$$ 10101 $$$\rightarrow$$$ 1101 $$$\rightarrow$$$ 101 $$$\rightarrow$$$ 01.
Название |
---|