Posté par Guillaume.B .
En réponse au journal Advent of Code 2025.
Évalué à 2.
Dernière modification le 07 décembre 2025 à 13:09.
Même approche ici. C'est de la programmation dynamique mais assez facile.
Je stocke un tableau timelines qui pour chaque indice i d'une ligne me donne le nombre de timelines à la position (j, i) où j est à la ligne en cours.
Je pensais qu'il faudrait stocker un tableau des timelines de la ligne précédente mais en fait ça ne sert à rien.
Petite astuce, lorsque l'on traite la ligne i, on a besoin juste de regarder les indices [start_pos-i-1..start_pos+i+1] ce qui accélère un peu les choses.
[^] # Re: Jour 7
Posté par Guillaume.B . En réponse au journal Advent of Code 2025. Évalué à 2. Dernière modification le 07 décembre 2025 à 13:09.
Même approche ici. C'est de la programmation dynamique mais assez facile.
Je stocke un tableau timelines qui pour chaque indice i d'une ligne me donne le nombre de timelines à la position (j, i) où j est à la ligne en cours.
Je pensais qu'il faudrait stocker un tableau des timelines de la ligne précédente mais en fait ça ne sert à rien.
Petite astuce, lorsque l'on traite la ligne i, on a besoin juste de regarder les indices
[start_pos-i-1..start_pos+i+1]ce qui accélère un peu les choses.Je pense que la partie 1 doit se vectoriser très bien mais je ne suis pas compétent en SIMD.
https://fr.wikipedia.org/wiki/Single_instruction_multiple_data
Le code pour les deux parties (~3 microsecondes).