• [^] # Re: jour 9

    Posté par (site web personnel) . En réponse au journal Advent of Code 2025. Évalué à 3. Dernière modification le 09 décembre 2025 à 18:03.

    Pas encore fini de coder la partie 2, mais je pars sur des idées semblables :

    • pour chaque position (x, y) mentionnée dans le fichier d'entrée, je considère que les abscisses x et x + 1 seront utiles, et que les ordonnées y et y + 1 seront utiles ;
    • je considère également comme utiles les abscisses min(x) - 1 et max(x) + 1 et les ordonnées min(y) - 1 et max(y) + 1.

    Le premier point, c'est parce que, dans ma représentation, chaque case du tableau réduit est censée représenter fidèlement tout l’intervalle jusqu'à la case suivante exclue.

    Le second point, c'est que peindre l'intérieur d'une courbe fermée par inondation, ce n'est facile qu'à condition de partir d'un point dont on sait qu'il est à l'intérieur, ce que je ne sais pas faire. En revanche, peindre l'extérieur, c'est pareil à deux conditions :

    • partir d'un point dont on sait qu'il est à l'extérieur, ce qui est facile si on a agrandi la zone d'au moins une case d'un côté ou d'un autre ;
    • que l'extérieur soit connexe, ce qui est garanti si on a étendu la zone de tous les côtés.

    Bref, peindre l'intérieur de quelque chose, je ne sais pas faire. Peindre l'extérieur, je sais faire : il faut ajouter une bordure vierge et inonder depuis un point de cette bordure.