|
Menu |
|
Задача Восстановление строки
| Файл входного файла: | restore.in |
|---|---|
| Файл выходного файла: | restore.out |
| Ограничение по памяти: | 64 MB |
| Ограничение по времени: | 2 s |
Описание
В одном алгоритме сжатия используется преобразование строк, суть которого состоит в следующем. Рассмотрим некоторую строку. Возьмем все ее возможные циклические сдвиги и расположим их в словарном порядке в виде квадратной таблицы. В получившейся таблице выделим последний столбец, который, если его записать в виде строки, и будет являться результатом описанного преобразования.
Рассмотрим, что происходит при таком преобразовании со строкой «abraca»:
Итак, в результате мы получили строку «caraab». В дополнение к найденной строке мы определяем также позицию исходной строки в отсортированном списке циклических сдвигов (в данном случае 2). Оказывается, что исходя из этих двух данных, первоначальная строка восстанавливается однозначно. Напишите программу, которая сделает это.
Формат входных данных
В первой строке входного файла записано целое число k — номер исходной строки в отсортированном списке циклических сдвигов. На следующей строке записан результат преобразования. Входные данные таковы, что исходная строка всегда существует. Сама строка состоит из символов с кодами от 33 до 255. Длина заданной строки не превосходит 10 5 .
Формат выходных данных
В выходной файл выведите исходную строку.
Примеры:
| ввод | вывод |
|---|---|
|
2
|
abraca
|
|
|
|
|
34
|
whenwehavetolearntodowelearnbydoing
|
|
|
|
|
5
|
abacabaabacaba
|
|
|
|
Difficulty: 4.44206124376
Accepted: 5
Submitted: 65
Источник задачи: XX городская олимпиада школьников Санкт-Петербурга по информатике, 6 марта 2005 г.
Обсуждение:
Начать обсуждение:
Powered by django, eJudge.
Admin, Testiy proverte!!! Pravilno ili neet.
Дата: 2009-10-26 16:22
Ответить →
Если сообщение админу, желательно писать ему лично... У нас нет возможности читать все задачи каждый день...
Дата: 2009-10-28 13:18
Ответить →
Ошибка с тестами исправлена. Спасибо, что сообщил.
Дата: 2009-10-28 23:41
Ответить →