Codeforces Round 932 (Div. 2) |
---|
Закончено |
Поздравляю, вы поступили в Центр Помощи Магистрам! Однако, на уроках вам было безумно скучно и вам надоело ничего не делать, поэтому вы придумали себе развлечение.
Вам дана строка $$$s$$$ и чётное число $$$n$$$. Есть два типа операций, которые вы можете к ней применять:
Требуется определить лексикографически минимальную$$$^{\dagger}$$$ строку, которую можно получить после применения ровно $$$n$$$ операций. Обратите внимание, что вы можете применять операции разных типов в произвольном порядке, но суммарно вы должны применить ровно $$$n$$$ операций.
$$$^{\dagger}$$$Строка $$$a$$$ лексикографически меньше строки $$$b$$$, если и только если выполняется один из следующих пунктов:
Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 500$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое чётное число $$$n$$$ ($$$2 \leq n \leq 10^9$$$) — количество операций, применяемых к строке $$$s$$$.
Вторая строка каждого набора входных данных содержит одну строку $$$s$$$ ($$$1 \leq |s| \leq 100$$$), состоящую из строчных букв латинского алфавита, — строка, к которой применяются операции.
Для каждого набора входных данных выведите одну строку — лексикографически минимальную строку, которую можно получить после применения ровно $$$n$$$ операций.
54cpm2grib10kupitimilablodarbuz1000000000capybara6abacaba
cpm birggrib kupitimilablodarbuz arabypaccapybara abacaba
В первом наборе входных данных можно применить операцию второго типа (то есть перевернуть строку $$$s$$$) $$$4$$$ раза. Тогда строка $$$s$$$ останется равной cpm.
Во втором наборе входных данных можно сделать следующее:
Название |
---|