Aller au contenu

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