• [^] # Re: Jour 1

    Posté par . En réponse au journal Advent of Code 2025. Évalué à 3.

    o/

    Premier jour facile. J'ai même pas pensé à brut-forcer la partie deux. Si j'avais galéré sur un cas limite, je l'aurai fait. Mais là c'est passé du premier coup.

    En réorganisant un peu le code, la solution aux deux parties en 9 lignes :

    ans1 = ans2 = 0
    pos = new_pos = 50
    for line in open(0):
     t,q = divmod(int(line[1:]), 100)
     new_pos += q if line[0] == "R" else -q
     ans2 += t + ((pos>0 and new_pos<=0) or new_pos>=100)
     pos = new_pos = new_pos % 100
     ans1 += (pos == 0)
    print(ans1, ans2)