|
Menu |
|
Задача Zig-Zag шифр
| Файл входного файла: | zigzag.in |
|---|---|
| Файл выходного файла: | zigzag.out |
| Ограничение по памяти: | 1 MB |
| Ограничение по времени: | 1 s |
Описание
Последней разработкой в области криптографии, которая обязательно будет подхвачена со стороны военных, правительства и всякого рода параноиков, является Zig-zag шифр.
Чтобы зашифровать сообщение с помощью zig-zag шифра буквы сообщения пишутся на бемаге zig-zag'ом. Вот иллюстрация для сообщения "CARTOGRAPHY".
C O P
A T G A H
R R Y
Буквы считываются по строчке за раз, начиная с верхней и заганчивая самой нижней. В вышеуказанной диаграмме первоя строка читается как "COP", вторая как "ATGAH" и третяя как "RRY". В конце они объеденяются и получается "COPATGAHRRY".
Zig-zag шифр можно разширить и использовать сколько угодно много строк. На пример используя zig-zag шифр с шестью строками сообщение "CHARLIETHEWONDERBUDGIE" зашифровывается в "CWIHEOGEAHNDRTDULEEBIR" как показано ниже.
C W I
H E O G E
A H N D
R T D U
L E E B
I R
Ваша задача написать программу которая расшифрует сообщение которое было закодированно zig-zag шифром.
Формат входных данных
Первая строка входного файла будет состоять из одного r числа, количество строк, используемых в zig-zag шифре (2 <= r <= 100).
После этого будет зашифрованное сообщение. Зашифрованное сообщение будет состоять исключительно из заглавных букв, без пробелов и знаков препинания. Это сообщение может быть разбито на несколько строк во входном файле, каждая строка будет содержать от 1 до 70 включительно букв. Всего зашифрованное сообщение будет состоять из от 1 до 10000 знаков.
После зашифрованного сообщения будет следовать строка, содержащая один символ "#"
Формат выходных данных
Ваш вывод должен состоять из одной строки, содержащей все расшифрованное сообщение (обратите внимание, что эта линия может быть очень длинной). Линия, не должна содержать пробелы и знаки препинания.
Примеры:
| ввод | вывод |
|---|---|
|
3
|
CARTOGRAPHY |
|
|
|
|
6
|
CHARLIETHEWONDERBUDGIE |
|
|
|
Powered by django, eJudge.
Обсуждение:
Начать обсуждение: