Advent of Code 2025¶
Entraînement · Advent of Code 2025 · Python
Cours : Programmation dynamique · Force brute et retour sur trace · Graphes · Kruskal et union-find
Dépôt : advent-of-code-2025
Vue d'ensemble¶
| Jour | Nature du problème | Méthode | Notions du cours | Solution |
|---|---|---|---|---|
| 1 | Rotations d'un cadran : compter les passages par une position | Arithmétique modulo 100 | Accumulateur | Python |
| 2 | Repérer dans des intervalles les nombres formés d'un motif répété | Énumération et découpage de la chaîne | Force brute | Python |
| 3 | Extraire d'une suite de chiffres le plus grand nombre de longueur fixée | Mémoïsation sur (reste à choisir, position) | Mémoïsation, glouton | Python |
| 4 | Grille : retirer itérativement les cases trop peu entourées | Comptage des 8 voisins, itération jusqu'au point fixe | Grilles, jeu de la vie | Python |
| 5 | Appartenance à des intervalles, puis taille de leur union | Tri puis fusion d'intervalles | Droite de balayage | Python |
| 6 | Opérations disposées en colonnes, puis chiffres lus verticalement | Analyse de la grille de caractères | Boucles imbriquées | Python |
| 7 | Faisceaux qui se dédoublent dans une grille : divisions, puis trajectoires | Simulation par ensemble, puis comptage mémoïsé | Ensembles, chemins dans un DAG | Python |
| 8 | Relier des points de l'espace par distances croissantes | Kruskal avec union-find naïf | Kruskal, union-find | Python |
| 9 | Plus grand rectangle à coins imposés, puis inclus dans un polygone orthogonal | Force brute sur les paires, test du point dans un polygone par rayon | Recherche exhaustive | Python |
| 10 | Boutons agissant sur des compteurs : nombre minimal d'appuis | Programmation linéaire en nombres entiers (PuLP) | Hors programme ; parcours en largeur abandonné | Python |
| 11 | Compter des chemins dans un graphe orienté sans cycle | Mémoïsation sur (sommet, drapeaux de passage) | Chemins dans un DAG, mémoïsation | Python |
| 12 | Placer des pièces de 3×3 cases dans des régions rectangulaires | Retour sur trace sur masque de bits | Retour sur trace | Python |