Обработка математики: 100%
 

printКомбинаторика

printЛексикографический порядок

Ограничения: время – 2s/4s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Имеется алфавит, состоящий из N (1  N  12) различных символов. Множество всех N-буквенных слов, содержащих все символы алфавита, упорядочено лексикографически, в соответствии с заданным алфавитом. Задано конкретное слово из этого множества и целое число K (1  K < 12!). Требуется найти K-ое слово этого множества, следующее за данным словом или сообщить, что найти такое слово невозможно.
Входной файл состоит из трех строк. Первая строка содержит алфавит, записанный без пробелов в порядке номеров символов. Вторая строка содержит исходную перестановку символов алфавита. Третья строка число K.
Выходной файл состоит из одной строки, содержащей искомую перестановку символов алфавита или слово "IMPOSSIBLE".

Пример ввода 1

CBA
CBA
2

Пример вывода 1

BCA

Пример ввода 2

ABC
CBA
1

Пример вывода 2

IMPOSSIBLE
Источник: VII межвузовская олимпиада по программированию Вологда, 2004
loading