Top 20

1 0x00h 697 pts
2 boris39 697 pts
3 neoxquick 678 pts
4 maf-ia 659 pts
5 thefinder 641 pts
6 benito255 605 pts
7 mego 588 pts
8 madbat2 577 pts
9 Mart 550 pts
10 tehron 500 pts
11 Kithyane 500 pts
12 egosum 470 pts
13 plucth 444 pts
14 Zeta 414 pts
15 Undr 412 pts
16 CoYoTe99 412 pts
17 Armavica 407 pts
18 vitalimarrenra 401 pts
19 b0n0n 394 pts
20 nurfed 382 pts

Classement complet

Shoutbox

20 Aug - 6:04 am

Hi b0n0n, this chall does not appear to be broken sorry. What is your problem ?

14 Aug - 11:22 pm

Multiplication of two (big) numbers (40) is broken, anyone plz fix it?

15 Feb - 3:58 am

En vérité je reconnais que c'est surtout moi qui ait des soucis majeurs ... je reçois le mail là, puis pour la compression ça doit être un problème stupide de mon côté

6 Feb - 8:09 pm

Pour le chall sur les mail je confirme, on a toujours galéré à le faire marcher pour tout le monde et on a fini par abandonner ^^. Par contre pour DC 2, je suis étonné, personne n'a jamais reporté de problème. N'hésite pas à poster ta question sur le forum j'y répondrai :)

6 Feb - 10:16 am

Par exemple le challenge réseau sur le mail ne fonctionne pour pas moi je ne reçois rien. Après c'est surtout des soucis de mon côté, je suis sur data compression 2 et bien que mon algo soit, je crois, correct, je ne peux pas valider parce que je gère mal les caractères spéciaux, je voulais d'ailleurs poster dans le forum pour demander la chaîne finale de l'exemple

6 Feb - 9:22 am

Merci :) Il y aurait encore beaucoup à faire mais bon. Genre normaliser les données des épreuves en json, permettre aux membres de pouvoir "affronter" les programmes des autres (section Arena), rendre le site plus intuitif, etc etc... A quels problèmes mineurs penses tu ?

5 Feb - 4:52 am

très très propre votre entreprise, quelques soucis mineurs mais dans l'ensemble vos challenges sont super à faire, merci !!

2 Feb - 10:09 am

Il y a malgré tout toujours une petite activité régulière, ça fait plaisir

29 Jan - 10:08 am

Et ouais ! Perso je viens toujours tous les jours, c'est ma petite routine quotidienne :)

29 Jan - 12:24 am

y'a encore des gens ici ?

Connexion
Mot de passe oublié

Supportez nousx

Vous aimez µContest ?
Supportez nous en votant (fun et difficulté) pour µContest sur WeChall :)
Si vous ne l'avez pas encore fait, profitez-en pour lier votre compte
Wechall à µContest pour pouvoir voter !

Merci

Liste des épreuves :: Divers :: Data compression I (31)

Résumé

ID : 31
Points : 8
Validations :
Page de l'épreuve
Reporter un bug

Description


Dans cette épreuve, nous allons aborder le vaste domaine de la compression de données (ou codage de sources) avec la mise en oeuvre d'un algorithme des plus simples, l'algorithme RLE (Run-length encoding).

Nous allons l'utiliser pour compresser et décompresser des chaînes de caractères. Son principe est le suivant:

Soit la chaîne à compresser :
donnees = "AAAGGBBBOPPTTTTTZZZZ"

Le principe est de compter le nombre d'occurrences consécutives de chaque caractères et de l'encoder avec la lettre pour représenter l'information. Dans cet exemple, il y a 3 A d'affilée, on code donc AAA par 3A, puis GG par 2G, etc.
D'où la chaîne une fois compressée :
donnees_compressees = "3A2G3B1O2P5T4Z"

On obtient donc la même information représentée par moins de caractères. On remarque d'ailleurs qu'il y a des cas pour lesquels la chaîne compressée est plus longue que la chaîne initiale (ABCD -> 1A1B1C1D) !! En fait, on peut montrer que pour tout algorithme de compression, il existe toujours au moins un cas pour lequel la donnée compressée est au moins aussi longue que la donnée non compressée.

L'épreuve se compose de deux étapes, une pour la compression, et une pour la décompression.
Vous devez récupérer la chaîne à compresser dans donnees_a_compresser et celle à décompresser dans donnees_a_decompresser.
Vous devez renvoyer le résultat de la compression dans resulat_compression et celui de la décompression dans resultat_decompression.

En résumé, si vous récupérez :
donnees_a_compresser = "AAAAZZPPPPPPPP"
donnees_a_decompresser = "3H7J1P3D"


vous devez renvoyer :
resultat_compression = "4A2Z8P"
resultat_decompression = "HHHJJJJJJJPDDD"


Variables


Nom Type Description
Variables à récupérer
donnees_a_compresserChaîne de caractèreschar*Chaîne de caractères que vous devez compresser avec l'algorithme RLE. Vous devez renvoyer le résultat dans la variable resultat_compression
donnees_a_decompresserChaîne de caractèreschar*Chaîne de caractères que vous devez décompresser. Elle est le résultat d'une compression par l'algorithme RLE. Vous devez renvoyer le résultat dans la variable resultat_decompression
Variables à renvoyer
resultat_compressionChaîne de caractèreschar*Résultat de la compression RLE de la variable donnees_a_compresser
resultat_decompressionChaîne de caractèreschar*Résultat de la décompression RLE de la variable donnees_a_decompresser