Олимпиады по информатике (ХМАО - Югра)

   
 
Югорский НИИ ИТ, Югорский ФМЛ
Логин:   Пароль:    
 
   
 
Новости
О проекте
Регистрация
Гостевая книга
Форум
Архив задач
Состояние системы
Олимпиады
Работа в системе
Рейтинг
Новичкам
Методическое пособие
Дистанционное обучение
Дистрибутивы
Ссылки

HotLog

Декомпозиция строки

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

Для строки T и целого числа n определим n-ю степень строки Tn как конкатенацию n копий строки T. Например, aab4 = aabaabaabaab.

Любая строка S может быть представлена в виде разложения S = S1d1S2d2 ... Skdk. Вообще говоря, такое разложение может быть не единственным. Весом разложения строки S в указанном виде назовем сумму |S1| + |S2| + . . . + |Sk|, где |Z| означает длину строки Z.

По заданной строке S найдите ее разложение с минимальным весом.

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

Входной файл INPUT.TXT содержит строку S. S состоит из заглавных английских букв и имеет длину не более 5000.

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

Первая строка выходного файла OUTPUT.TXT должна содержать w – минимальный возможный вес разложения строки S. Пусть k – число элементов в таком разложении. Тогда следующие k строк должны содержать элементы разложения: строку Si и степень di, разделенные ровно одним пробелом.

Если существует несколько оптимальных решений, выведите любое из них.

Пример

INPUT.TXTOUTPUT.TXT
1ABABAAABABA5
AB 2
A 3
BA 2

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

[Все попытки] [Лучшие попытки]

 
     
Югорский НИИ ИТ, Югорский ФМЛ