Расшифровка
Задачу добавил: alef
Успешно сдано решений: 30
Компания по защите интеллектуальной собственности решила повысить уровень защищенности своих операционных систем путем шифрования всех сообщений, передаваемых внутри ее локальных сетей. Любое допустимое в компании сообщение представляет собой строку S = S1S2...SN, состоящую исключительно из букв латинского алфавита. Шифрование сообщения осуществляется в К фаз. На каждой фазе строка S заменяется строкой, в которой сначала располагаются все буквы строки S, стоящие на позициях с номерами, являющимися простыми числами {первый блок), а затем – все остальные буквы (второй блок). Напомним, что число называется простым, если оно натуральное и имеет ровно два натуральных делителя. Относительный порядок букв в каждом из двух блоков остается неизменным. Например, строка S = abedefgh на первой фазе шифруется в строку S = bcegadfli. Если осуществляется вторая фаза шифрования, то строка S примет вид S = ceqfbgdh. После передачи зашифрованного сообщения по сети оно должно быть дешифровано, чтобы получатель смог прочитать исходную запись.
Требуется написать программу, осуществляющую дешифрование заданной строки, являющейся результатом шифрования строки S после К фаз.
Технические требования;
Имя входного файла: INPUT.TXT
Имя выходного файла: OUTPUT.TXT
Ограничение по времени тестирования: I секунда на один тест
Формат входных данных:
В первой строке входного файла INPUT.TXT содержится натуральное число К (I <К< 100), далее через пробел сообщение S после K фаз шифровании, состоящее из n (1 < n < 255) как прописных, так и строчных букв латинского алфавита. Регистр букв в процессе шифрования остается неизменным.
Формат выходных данных:
Выходной файл OUTPUT.TXT должен содержать только одну дешифрованную строку S.
Пример файлов входных и выходных данных:
INPUT. TXT |
OUTPUT.TXT |
2 CEAFBGDH |
ABCDEFGH |
1 BAAAACB |
ABACABA |