Метод «железнодорожной изгороди» (по правде говоря, авторы задачи не понимают смысл этого термина :) ) — один из простейших методов шифрования текстовых сообщений, разработанный в начале XX века. Конечно, сейчас говорить о его надёжности и стойкости
- Программирование
Условие:
Метод «железнодорожной изгороди» (по правде говоря, авторы задачи не понимают смысл этого термина :) ) — один из простейших методов шифрования текстовых сообщений, разработанный в начале XX века. Конечно, сейчас говорить о его надёжности и стойкости смешно, но, тем не менее, в анналы криптографии он занесен… Суть метода «железнодорожной изгороди» заключается в следующем: текст длиной N символов посимвольно записывается «змейкой» в таблицу из N столбцов и k строк (здесь k — ключ шифрования). Пример заполнения таблицы показан на рисунке для k = 5 и исходной строки Thisisasecretmessage, для наглядности пробелы заменены символом нижнего подчёркивания.
После заполнения таблицы символы исходного исходного текста читаются из этой таблицы построчно. Таким образом, зашифрованная строка имеет вид Tah_tmeisseegsiersacs. Заметьте, что длина зашифрованного сообщения всегда совпадает с длиной исходного.
Вам требуется зашифровать сообщение методом «железнодорожной изгороди».
Формат входных данных
Первая строка содержит величину ключа k (2 ≤ k ≤ 1000). Во второй строке записано шифруемое сообщение, длина которого не меньше 1 символа и не превосходит 30000 символов (в 50 % тестов эта длина не превосходит 255). В сообщение могут входить символы с кодами от 32 до 127, пробелов в начале и конце строки нет.
Формат выходных данных
Выведите единственную строку с зашифрованным сообщением.
Решение:
Для решения задачи шифрования методом «железнодорожной изгороди» мы будем следовать следующим шагам: 1. Чтение входных данных: Сначала мы получим значение ключа k и сообщение, которое нужно зашифровать. 2. Создание таблицы: Мы создадим таблицу с k строками и N столбцами, где N — это длина сообщения. Мы будем заполнять эту таблицу «змейкой», то есть поочередно заполняя строки. 3. Заполнение таблицы: Мы будем заполнять таблицу, начиная с первой строки и двигаясь вниз до последней строки, а затем снова вверх, пока не заполним все символы сообщения. 4. Чтение зашифрованного сообщения: После за...
Создадим список списков для хранения символов сообщения. Теперь мы будем заполнять таблицу «змейкой». Теперь мы будем считывать символы из таблицы построчно. Выведем зашифрованное сообщение. Теперь объединим все шаги в один код: Если ввести: Вывод будет: Таким образом, мы успешно зашифровали сообщение методом «железнодорожной изгороди».Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
Выбери предмет
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Текстильная промышленность
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства