0276. Записка
Имя входного файла: | letter.in |
Имя выходного файла: | letter.out |
Ограничение по времени: | 2 s |
Ограничение по памяти: | 256 megabytes |
Леонард и Пенни поругались. Леонард пытается извиниться, поэтому он написал записку, в которой он просит прощения. Но просто отдать записку – не интересно, поэтому Леонард её зашифровал. Чтобы по зашифрованному тексту получить исходный требуется k раз применить к тексту операцию циклического сдвига вправо. К сожалению, у Пенни нет компьютера, поэтому она попросила вас помочь ей расшифровать записку Леонарда.
Циклическим сдвигом строки s вправо называется строка t такая, что t1 = s|s|, t2 = s1, … t|s| = s|s| - 1, где |s| – длина строки s, а si – i-ый символ строки.
Рассмотрим все циклические сдвиги строки abcde
- eabcd
- deabc
- cdeab
- bcdea
- abcde
Формат входного файла
В первой строке входного файла задано два целых числа n и k (1 ≤ k ≤ n ≤ 100000) – длина зашифрованный строки и количество циклических сдвигов соответственно. Во втрой строке входного файла находится текст записки. Текст состоит из строчных и прописных букв латинского алфавита, пробелов ( ), запятых (,) и точек (.).
Формат выходного файла
В единственной строке выходного файла выведите расшифрованный текст записки.
Пример:
letter.in | letter.out |
---|---|
56 5 sorry, I am idiot. Give me one more chance, please.I am | I am sorry, I am idiot. Give me one more chance, please. |
46 33 far too longAnd I miss you, been far away for | And I miss you, been far away for far too long |
5 1 bcdea | abcde |
5 5 abcde | abcde |
Источник: Первенство первокурсника ПетрГУ. Май 2012
Обсудить Отправить решение
Версия для печати