mastouille.fr est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.
Mastouille est une instance Mastodon durable, ouverte, et hébergée en France.

Administré par :

Statistiques du serveur :

568
comptes actifs

#adventofcode

5 messages5 participants0 message aujourd’hui
Jérémy Pagès<p>Partie 1 : 2:24:15 (commencé à 7h)<br>Partie 2 : 2:24:33</p><p>Une petite simulation de machine de Turing pour finir. C'est le parsing des instructions qui m'aura donné le plus de mal.</p><p>Pour représenter le ruban, j'ai utilisé la même technique que pour le problème 22. Je calcule ainsi 12 millions d'étapes en 80 millisecondes.</p><p>J'ai donc validé les 50 étoiles du premier coup avec des temps inférieurs à 6 heures, ce qui est une première pour moi.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 3:05:52<br>Partie 2 : 3:27:21</p><p>Pour la première fois sur cet Advent of Code, j'ai utilisé un algorithme récursif.</p><p>Je suis allé assez lentement pour la première partie, et plus vite pour la seconde, qui ne présentait pas de difficulté majeure.</p><p>Les deux parties s'exécutent en 40 ms chacune.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 1:58:30 (commencé à 7h)<br>Partie 2 : 4:10:20</p><p>La partie 2 est typiquement le genre de problème non soluble par un LLM. Pour donner une réponse avec un temps de calcul acceptable, il faut comprendre ce que fait le code inclus dans le fichier de données.</p><p>Il s'agissait ici d'une recherche de nombres premiers, avec un algorithme très inefficace.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 48:47<br>Partie 2 : 2:06:43</p><p>Un bon petit problème de simulation.</p><p>Encore une fois, j'ai pris un peu de temps pour obtenir un code efficace pour la partie 2. La première version (avec une Map pour conserver l'état des cellules) mettait 3 secondes, et la version finale (avec un tableau redimensionnable) 180 millisecondes.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 3:40:20 (commencé à 6h30)<br>Partie 2 : 5:27:50</p><p>Ce matin, j'ai travaillé sur une fractale.</p><p>Le problème m'a un peu rappelé le jour 20 de l'Advent of Code 2020. Je me suis souvenu qu"il y avait 8 transformations possibles (rotations et symétries).</p><p>Pour la partie 2, j'ai pris une heure pour concevoir un algorithme efficace. J'ai obtenu un temps de calcul de 15ms, contre 300ms pour l'algorithme naïf.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 2:30:39 (commencé à 7h15)<br>Partie 2 : 5:31:01</p><p>Pour l'instant, c'est le problème le plus difficile, et le plus exigeant en terme de mathématiques.</p><p>Pour résoudre la partie 1 de manière rigoureuse, il fallait utiliser des propriétés sur les limites de fonctions polynômiales.</p><p>Ensuite, pour la partie 2, il fallait résoudre 500000 équations du second degré, ce qui est assez coûteux en temps de calcul.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 1:43:28 (commencée à 6h40)<br>Partie 2 : 1:59:56</p><p>Pour ce problème, j'ai simplement eu besoin d'écrire une (grosse) fonction, retournant la liste des caractères rencontrés au long du chemin.</p><p>Cette fonction m'a servi pour résoudre les deux parties.</p><p>Pour la partie 1, il fallait filtrer les caractères correspondant aux lettres de l'alphabet. Enfin, pour la partie 2, il suffisait de retourner la longueur de la chaîne de caractères.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Oloturia<p>I just completed all 25 days of Advent of Code 2017! <a href="https://mastodon.bida.im/tags/AdventOfCode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AdventOfCode</span></a> <a href="https://adventofcode.com/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">adventofcode.com/</span><span class="invisible"></span></a></p><p>This is my 500*! I've completed every puzzle of AoC!<br>2017 was easier than average, I've never checked for hints on reddit. I've solved it with C++ which I know a bit less than Python.</p><p>My solutions: <a href="https://gitlab.com/oloturia/aoc" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">gitlab.com/oloturia/aoc</span><span class="invisible"></span></a></p>
Jérémy Pagès<p>Partie 1 : 4:16:00 (commencée à 8h50).<br>Partie 2 : 5:22:34</p><p>Encore un petit problème d"émulation.</p><p>Pour la partie 1, c'est le parsing des instructions qui m'aura posé le plus de difficultés.</p><p>La partie 2 n'était pas beaucoup plus compliquée, mais j'ai perdu 20 bonnes minutes à cause d'un bug stupide sur l'envoi et la réception de messages.</p><p>J'ai réussi à donner la bonne réponse du premier coup, même sans test unitaire.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 1:47:43<br>Partie 2 : 2:10:52</p><p>Problème commencé à 7h30 et terminé à 8h10. Je m'attendais à plus difficile pour un jour 17.</p><p>Dans la partie 2, il ne fallait surtout pas essayer de calculer le buffer en entier, mais seulement le deuxième terme.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 3:50:31<br>Partie 2 : 4:38:17</p><p>J'ai commencé ce problème vers 9 heures.</p><p>Evidemment, pour la partie 2, il fallait chercher un cycle. Comme il y avait 16! listes possibles, je craignais que le temps de calcul soit très long, mais cela n'a pas été le cas. Le cycle avait une longueur de 30.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 58:07<br>Partie 2 : 1:10:36</p><p>J'ai commencé le problème avec 35 minutes de retard. A part ça, pas de difficultés notables pour valider les deux étoiles.</p><p>Il fallait simplement calculer les 40 premiers millions d'éléments de deux suites dans la partie 1, et les 5 premiers millions de deux sous-suites dans la partie 2.</p><p>En utilisant une boucle while au lieu d'une boucle for, j'ai réussi à diviser le temps de calcul par 2.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 23:21<br>Partie 2 : 1:02:16</p><p>Pour les deux parties, j'ai réutilisé le code de calcul de hashes du jour 10, que j'ai déplacé dans un module séparé.</p><p>La partie 2 est analogue à la recherche de groupes sur un goban.</p><p>Chaque partie prend environ 120 ms de temps de calcul.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 58:25<br>Partie 2 : 3:04:09</p><p>J'ai été un peu lent (et j'ai commencé avec 20 minutes de retard) sur la partie 1, pas bien difficile.</p><p>J'ai ensuite trouvé rapidement la solution de la partie 2, mais je n'étais pas satisfait du temps de calcul (2 secondes). J'ai donc passé 1h30 supplémentaires à concevoir un algorithme plus efficace. Je suis finalement parvenu à un temps de calcul de 10 ms.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 26:28<br>Partie 2 : 48:34</p><p>Il fallait calculer la taille d'une composante connexe d'un graphe dans la partie 1, et le nombre de composantes connexes dans la partie 2.</p><p>On peut déduire du résultat de la partie 2 le nombre de tubes nécessaires pour obtenir un graphe connexe : ce nombre est égal au nombre de composantes connexes moins un.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 52:38<br>Partie 2 : 58:24</p><p>Un intéressant problème de déplacement sur un pavage hexagonal.</p><p>Pour calculer le nombre minimal d'étapes nécessaire, j'ai d'abord bêtement pensé à l'algorithme de Dijkstra, avant de réaliser qu'une simple formule mathématique permettait de la calculer.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 51:30<br>Partie 2 : 1:01:08</p><p>Un problème effrayant au premier abord, mais pas si compliqué si on prend bien le temps de lire correctement l'énoncé.</p><p>Je l'ai tranquillement résolu en une heure, et je n'ai pas perdu trop de temps à debugger le code.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 54:54<br>Partie 2 : 59:32</p><p>J'ai réussi à résoudre le problème du jour en moins d'une heure, et moins de 5 minutes pour la partie 2.</p><p>Il s'agissait d'exécuter sur un CPU des instructions conditionnelles, qui ne doivent être exécutées que si une certaine condition est remplie.</p><p>La principale difficulté aura été le parsing des instructions. </p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 1:25:51<br>Partie 2 : 2:36:41</p><p>Pour la partie 1, il fallait trouver la racine d'un arbre. J'ai procédé en cherchant quel noeud n'avait pas de parent.</p><p>Ensuite, il fallait, pour résoudre la partie 2, calculer pout chaque noeud la somme de son poids et des poids de tous ses enfants. J'ai eu l'idée de classer les noeuds de façon à ce qu'un noeud se trouve après ses enfants.</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>
Jérémy Pagès<p>Partie 1 : 43:04<br>Partie 2 : 46:31</p><p>Aujourd'hui, c'était un simple petit exercice de simulation (débuté avec 25 minutes de retard).</p><p>La partie 2 représente pour l'instant le temps de calcul le plus élevé depuis le début (60 millisecondes sur ma machine).</p><p><a href="https://mastodon.online/tags/adventofcode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>adventofcode</span></a></p>