O desafio é o seguinte: conseguir criar o pedaço de código para comprimir dados o mais eficientemente possível.
Para simplificar a tarefa vou dar umas explicações:
1 caracter = 8 bits
Se conseguirem utilizar menos bits nos caracteres mais usados num determinado conjunto de dados, conseguem melhor compressão.
Para facilitar a tarefa, poder pensar nos dados como um texto ASCII, e tentar obter a melhor representação dos dados comprimidos (aka, os 1s e 0s obtidos após a compressão. Ou seja, o objectivo do programa é fazer uma pseudo-conpressão em que as letras de um texto são convertidas em conjuntos de uns e zeros de maneira a no fim obterem a cadeia mais pequena possível (e k depois pode ser descomprimida facilmente).
Ah, e no fim façam também o respectivo programa de pseudo-descompressão.
Quem conseguir a cadeia mais pequena ganha...
Exemplo:
AABBAACD -> 00101000110111