Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Минимальный сдвиг

(Время: 1 сек. Память: 16 Мб Сложность: 61%)

Циклическим сдвигом строки s называется строка sk+1sk+2…sns1s2…sk для некоторого k (0 ≤ k < n), где n – длина строки s.

Для заданной строки требуется определить ее лексикографически минимальный сдвиг, т.е. необходимо найти среди всех возможных циклических сдвигов строки тот, который идет первым в алфавитном порядке.

Входные данные

В единственной строке входного файла INPUT.TXT записана строка, состоящая из символов с кодами ASCII от 33 до 127. Длина строки не превышает 105.

Выходные данные

В выходной файл OUTPUT.TXT выведите одну строку – минимальный лексикографический сдвиг исходной строки.

Примеры

INPUT.TXTOUTPUT.TXT
1programamprogr
2cababc
3bbbbbbbbbb

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 ЕГЭ по информатике
 Тренировочные олимпиады
 Задание 1
 Задание 5
 Задание 8
 Задание 12
 Задание 13
 Задание 14
 Задание 16
 Задание 17
 Задание 18
 Задание 23
 Задание 24
 Задание 26
 Простые задачи
 Средние задачи
 Сложные задачи
 A. XY-строка
 B. Частотная буква
 C. A*A*A*A
 D. Минимальный сдвиг
 E. Количество различных подстрок
 F. Подпалиндромы

Красноярский краевой Дворец пионеров, (c)2006 - 2025, ИНН 246305493507, E-mail: admin@acmp.ru