Write-up Sha25 - Jour 1

Mon premier write-up sur la compétition SHA25, organisée par h25
Le 5 avril, h25 a annoncé sur son discord, l’organisation d’une compétition “Stay Home April”, une compétition dev/sécu, avec un exercice original par jour, rapportant un nombre de points en fonction du classement, vitesse ou score selon les sujets. Cette compétition est désormais terminée, mais j’aimerais revenir sur certains jours auxquels j’ai participé, pour expliquer ma solution.

_Sujet du jour 1

Le fichier est accessible ici

Pour ce premier jour, pas de question de rapidité a proprement parler, bien qu’il faille être le premier à trouver la meilleure réponse, l’important reste de trouver la meilleure réponse possible.

Après quelques recherches, je suis tombé sur un papier de William Gates (Bill pour les intimes), parlant de ce problème, dit de pancake sorting, ou tri de crêpe en français.
Ma solution n’était donc qu’une implémentation en python de cet algorithme de tri, dont plusieurs langages sont disponibles sur ce site
J’ai effectué quelques modifications pour améliorer un peu le traitement et pour qu’il lise directement le fichier d’entrée.

Ma solution permettait de récupérer une liste triée en 1979 retournements, ce qui m’a valu une 32ème place sur 35, le premier ayant une solution en 1164.

Le scoreboard complet est accessible sur le site du SHA25

Written on May 3, 2020