Witam
Mam do zrobienia zadanie na spoj-u polegające na jak najlepszej kompresji tekstu. Format kompresji ma wyglądać w taki sposób, że powtarzające się łańcuchy zastępujemy znakiem dodawania + i liczbą liter do zastąpienia (działamy tylko na alfabecie łacińskim) oraz możemy użyć znaku odejmowania - jeżeli chcemy usunąc pewną ilość liter. Przykład:
Wejście:
abcabcabcabdddddd
Wyjście:
abc+3+6-1ddd+3
Wynik:
0.824
Nie proszę o kod, ale o podpowiedź jak się do tego zabrać, czytałem o metodach bezstratnych kompresji, o metodzie LZW, Huffmana, algorytmie ByteRun, ale nie wiem co będzie najlepsze do tego zadania i czy w ogóle zbierałem informacje w dobrym kierunku. Program chciałbym napisać w c99, lub ew. c++ (zdaję sobie sprawę, że w c++ będzie łatwiej, dlatego nie będę się upierał co do czystego c). Nie interesuje mnie wysoki wynik, chciałbym tylko umieć zrobić to zadanie, nauczyć się czegoś nowego.
Bardzo proszę o jakąś pomoc i wskazówki jak zrobić to zadanie.