• [^] # Re: La solution la plus courte à écrire, la plus longue à expliquer.

    Posté par . En réponse au message Advent of Code, jour 18. Évalué à 1.

    Salut,
    J'ai commencé la partie 1 par un remplissage ligne à ligne en calculant le nombre de point dedans/dehors.
    Si on croise une ligne, on passe de dehors à dedans ou le contraire.
    Pour la 2, ca marche pô.
    Je n'ai pas pensé à la matrice virtuelle, enfin si plus ou moins, j'ai tenté de déterminer les groupes de lignes où cela ne change pas et utiliser mon algo précédent en multipliant par la surface du groupe, mais KO, pas réussi

    J'ai testé aussi le coup d'agrandir ou réduire la zone au fur et à mesure de l'ajout de segments.
    Meme chose, ca ne fonctionnait pas sur des cas simple: carré, carré avec un coin en moins.
    Bref, abandon.

    Je viens de reprendre seulement hier en utilisant 'tout simplement' le théorème des lacets pour calculer la surface d'un polygone quelconque.
    J'avais des doutes sur l'utilisation de cette technique avec des blocs et des coordonnées entières. Mais en relisant l'algo, et en dessinant quelques crobar vite fait, j'ai compris que c'était faisable avec un twist: j'ai juste agrandi le polygone vers son extérieur (technique de la main gauche le long d'un mur) de 1/2.
    Ca fonctionne même pour le 1 et c'est plus beaucoup beaucoup plus simple.