Posté par Yth (Mastodon) .
En réponse au journal Advent of Code 2025.
Évalué à 2.
Dernière modification le 09 décembre 2025 à 19:18.
Je ne crois pas avoir spécialement utilisé mon cerveau pour cet exercice, un code sur smartphone, peu lisible, mais efficace.
Je crois avoir été naïf en première approche, mais la naïveté ici est explosive : on ne peut pas compter les 357 525 737 893 560 rayons de l'exercice 2 de façon indépendante.
data=sys.stdin.read().strip().splitlines()w,h=len(data[0]),len(data)map="".join(data)b={map.index("S")}# exercice 1c={map.index("S"):1}# exercice 2: 1 seul rayon au départex1=0for_inrange(h-1):n={i+wforiinbifmap[i+w]=="."}# ligne droites={i+wforiinbifmap[i+w]=="^"}# splitex1+=len(s)# Tous les endroits où on a des rayons, pour les 2 exercicesb=n.union({i+1foriins},{i-1foriins})# ex1d={i:c[i-w]ifiinnelse0foriinb}# On reprend les rayons directsforiins:# On ajoute les rayons splittésd[i-1]+=c[i-w]d[i+1]+=c[i-w]c=dex2=sum(c.values())
[^] # Re: Jour 7
Posté par Yth (Mastodon) . En réponse au journal Advent of Code 2025. Évalué à 2. Dernière modification le 09 décembre 2025 à 19:18.
Je ne crois pas avoir spécialement utilisé mon cerveau pour cet exercice, un code sur smartphone, peu lisible, mais efficace.
Je crois avoir été naïf en première approche, mais la naïveté ici est explosive : on ne peut pas compter les 357 525 737 893 560 rayons de l'exercice 2 de façon indépendante.