вводиться строка из латинских букв требуеться ее сжать...
например:
если AABCCCCC то надо ее сжать таким образом 2AB5C
или
AAAAAAAAAABABABCCD то 10A2(BA)B2CD
Например, последовательность "ABABCABABC" можно записать как 2(2(AB)C)
помогите с алгоритмом...
Добавлено через 5 мин.
а вот и оригинал задачи:
Рассмотрим последовательность строк, состоящую только из больших латинских букв. Например, последовательность "AAAABBBAAAABBBC" - одна из таких последовательностей. Ее длина 15 символов. Поскольку в последовательности могут быть только буквы, можно заменить несколько подряд идущих одинаковых букв одной такой буквой, поставив перед ней натуральное число - количество повторений буквы.
Например, вышеупомянутую последовательность можно записать как "4A3B4A3BC" и длина такой записи будет только 9 символов. Легко видеть, что группа 4A3B повторяется в этой записи два раза подряд. Запишем это повторение, применяя скобки для выделения повторяющейся группы, а перед группой напишем количество ее повторений: 2(4A3B)C . Длина этой последовательности уже только 8 символов. Разумеется, могут случиться повторяющиеся группы на нескольких уровнях. Например, последовательность "ABABCABABC" можно записать как 2(2(AB)C)
Задача
Напишите программу OLI5B, которая по данной исходной последовательности находит и выводит сжатую последовательность.
Формат входных данных (файл B.IN )
В единственной строке текстового файла B.in дана исходная последовательность. Ее длина не превосходит 250 символов
Формат выходных данных (файл B.OUT )
В единственной строке текстового файла B.out следует вывести сжатую последовательность.
Например:
Тесты Входные данные - B.IN Выходные данные - B.OUT
1 AABCCCCC 2AB5C
2 EEEEEEEEEEEEEEEEEEEEEU 21EU
3 AAAAAAAAAABABABCCD 10A2(BA)B2CD