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

Задача . ИТМО-2526 (закл). 10–11. Взломщик поневоле


Задача

Темы: Олимпиады ИТМО

Вася изучает алгоритмы шифрования и решил придумать свой собственный алгоритм. Он решил, что его алгоритм будет рассчитан на шифрование слов из букв современного латинского алфавита. Для каждой буквы в тексте Вася применяет следующие шаги:

  • Выяснить номер этой буквы в алфавите (Вася пронумеровал буквы от 1 до 26).
  • Выяснить номер в алфавите \(i\)-й буквы ключа.
  • Перемножить два данных числа — это и есть Васин код для буквы текста.
  • Увеличить \(i\) на 1 и взять по модулю длины ключа.

Исходно \(i=0\), а нумерация букв в ключе и в тексте для шифрования начинается с нуля.

Чтобы проверить свой алгоритм, Вася взял фразу «the quick brown fox jumps over the lazy dog», убрал из неё пробелы, повторил её 15 раз подряд и зашифровал полученный текст.

В результате он получил последовательность чисел (она приведена в прикреплённом файле). Потом Вася решил проверить, можно ли расшифровать результат, и понял, что потерял ключ. Единственное, что он помнит: все символы в ключе были различными. Помогите Васе выяснить, каким был ключ. В ответе введите последовательность строчных букв латинского алфавита без пробелов. Если же восстановить ключ невозможно, укажите в качестве ответа NULL.

Пример ввода ответа: abcdef


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

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