Игра в криптоанализ (НТО 21/22 :: ТБС)
Легенда
Пока мальчики из другой задачи перекидывались самолётиками, другие мальчики играли в войнушку. Одна из команд, именующая себя «барсуками», изобрела свою систему шифрования.
Их соперники «лисы» решили во что бы то ни стало получить доступ к шифровкам, и решили послать своего шпиона в «барсучий» стан. После внедрения шпион отправил от их имени шифровку с заранее известным текстом. Вскоре «барсуки» раскрыли шпиона, и тот убежал, успев забрать одну из бумажек с ключами шифрования.
Перехватив шифровку и получив в руки ключи, «лисы» выяснили, что шифр «барсуков» — это четырёхкратная замена букв исходного послания с помощью комбинации с повторениями из четырёх ключей, которые были написаны на украденной бумажке. Ключи в комбинации могут повторяться.
Каждый ключ представляет собой перемешанный латинский алфавит, который ставится в соответствие с прямым порядком этого алфавита:
ABCDEFGHIJKLMNOPQRTSUVWXYZ исходная буква
ZYXWVUTSRQPONMLKJIHGFEDCBA новая буква (ключ)
Так, буква A исходного послания заменяется на Z, B на Y, Z на A и так далее. Затем для полученной строки процесс повторяется с использованием второго выбранного ключа, затем с помощью третьего... Результат четвёртой замены и является шифровкой.
Помогите «лисам» восстановить комбинацию, то есть последовательность использования известных ключей, кодирующую одну известную строку в другую.
Входной формат: шесть строк. Первая и вторая содержат исходное и закодированное сообщение, последующие 4 строки содержат ключи замены. Например,
HEYPALDOYOUKNOWTHAT
THISISJUSTANEXAMPLE
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRTSUVWXYZ
Выходной формат: четыре цифры подряд на одной строке, номера используемых ключей (нумерация с 1). Например, 1234.
Time Limit: 2 секунды
Memory Limit: 256 MB