T'as découpé l'espace à 4 dimensions selon toutes les bornes possibles trouvées dans les règles, et traité chaque pavé à travers les règles pour savoir s'il était valide ou non ?
Ça doit faire plus de traitements oui, mais c'est assez propre comme approche.
Je n'y ai même pas pensé, je suis parti directement sur des découpage de pavés en deux, et bifurcation sur une règle ou une autre.
D'ailleurs, à bien y réfléchir, plutôt que d'avoir des workflows à étapes on pourrait exploser en règles uniques nom#condition?vrai:faux} :
Ça simplifierai les traitements derrière.
J'ai aussi vu des règles simplifiables comme gd{a>3333:R,R} où en fait tu rejettes tout, mais je n'ai pas jugé utile d'essayer de simplifier par ce genre de cas, ça avait l'air d'être plus d'efforts qu'autre chose.
[^] # Re: Optimisation insuffisante
Posté par Yth (Mastodon) . En réponse au message Advent of Code, jour 19. Évalué à 2.
T'as découpé l'espace à 4 dimensions selon toutes les bornes possibles trouvées dans les règles, et traité chaque pavé à travers les règles pour savoir s'il était valide ou non ?
Ça doit faire plus de traitements oui, mais c'est assez propre comme approche.
Je n'y ai même pas pensé, je suis parti directement sur des découpage de pavés en deux, et bifurcation sur une règle ou une autre.
D'ailleurs, à bien y réfléchir, plutôt que d'avoir des workflows à étapes on pourrait exploser en règles uniques
nom#condition?vrai:faux}:Ça simplifierai les traitements derrière.
J'ai aussi vu des règles simplifiables comme
gd{a>3333:R,R}où en fait tu rejettes tout, mais je n'ai pas jugé utile d'essayer de simplifier par ce genre de cas, ça avait l'air d'être plus d'efforts qu'autre chose.