Pour la partie 2, je transpose la matrice des données en inversant les X et les Y, en gros ça fait un miroir par la diagonale, pour lire dans l'autre sens.
En ayant retiré la ligne d'opérateurs à la fin.
Et après les nombres sont séparés par des lignes vides.
C'est assez simple.
fromoperatorimportmul,adddata=sys.stdin.read().strip().splitlines()op=[{"+":add,"*":mul}[_]for_indata[-1].split()]r=[0ifo==addelse1foroinop]forlindata[:-1]:fori,vinenumerate(l.split()):r[i]=op[i](r[i],int(v))ex1=sum(r)d=[# bascule de matrice"".join([l[j]forlindata[:-1]]).strip()forjinrange(len(data[0]))]i,r=0,[0ifo==addelse1foroinop]forlind:ifnotl:i+=1continuer[i]=op[i](r[i],int(l))ex2=sum(r)
[^] # Re: Jour 6
Posté par Yth (Mastodon) . En réponse au journal Advent of Code 2025. Évalué à 2.
Pour la partie 2, je transpose la matrice des données en inversant les X et les Y, en gros ça fait un miroir par la diagonale, pour lire dans l'autre sens.
En ayant retiré la ligne d'opérateurs à la fin.
Et après les nombres sont séparés par des lignes vides.
C'est assez simple.
Prodigieusement peu lisible, mais assez concis :)