Top 20

1 0x00h 689 pts
2 boris39 689 pts
3 neoxquick 670 pts
4 maf-ia 652 pts
5 eax 651 pts
6 thefinder 633 pts
7 nikokks 608 pts
8 benito255 598 pts
9 mego 582 pts
10 madbat2 573 pts
11 plucth 555 pts
12 Mart 543 pts
13 rostale 542 pts
14 Stupefy 523 pts
15 tehron 508 pts
16 Kithyane 491 pts
17 egosum 465 pts
18 malose 421 pts
19 CoYoTe99 410 pts
20 Undr 406 pts

Classement complet

Shoutbox

17 Sep - 11:51 am

Salut thefinder, ça faisait longtemps ! Oula ça en fait des problèmes :'( Le premier challenge ? La somme de deux nombres ?

23 Jul - 2:13 am

Coucou, j'ai essayé de reprendre avec python. J'ai plusieurs soucis. 1) Il faut rajouter headers={'Content-Type': 'application/x-www-form-urlencoded'} avec un requests.session(). 2) Je n'ai pas réponse du serveur si je soumet une réponse au premier challenge. J'essaye finir en python les 3 dernières épreuves qui me reste. :)

6 Nov - 8:17 am

Bonjour, un léger problème sur l'épreuve 10 : Une fois réussie, le champ "points earned" indique 72 au lieu de 7 En revanche sur le site le nombre de points comptabilisés est bien 7 Merci pour ce site génial !

21 Oct - 9:48 pm

Équation du challenge 52 corrigée, merci

16 Oct - 8:43 am

Bonjour, il y a aussi un problème d'affichage "invalid equation" dans le challenge 52. Merci

14 Oct - 8:57 pm

Barbapapou l'équation du challenge 29 a été corrigée

4 Oct - 10:30 am

Bonjour, il y a un problème avec l'affichage d'une équation dans le challenge 29

24 Aug - 7:10 pm

@rostale, en effet l'épreuve 21 ne fonctionne plus depuis un moment, pour l'instant on a pas prévu de temps pour la réparer je pense qu'on va finir par la supprimer tout simplement. @nikokks, ok je t'envoie un mail

22 Aug - 11:40 pm

Salut Metatr0n. pourrait on avoir une discussion en MP. J'imagine que tu as mon mail. Ce serait pour discuter de microcontest en general.

28 Jul - 10:38 pm

Pouvez-vous vérifier l'épreuve Email (21) ? En effet, je ne reçois pas d'email de la part du site. Merci

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