Retourner au contenu associé (entrée de forum : Advent of Code 2023, day 8)
Posté par steph1978 le 09 décembre 2023 à 09:19. En réponse au message Advent of Code 2023, day 8. Évalué à 1.
J'ai bien brûlé du CPU avant de comprendre qu'il fallait pas tout faire tourner en même temps mais juste calculer le nombre d'étapes de chaque fantôme puis de prendre leur PPCM.
En 20 lignes de python:
import sys from itertools import cycle from math import lcm I, _, *P = [l for l in sys.stdin.read().splitlines()] # BCN = (HFN, KFC) # 0123456789012345678 P = {l[0:3]:(l[7:10],l[12:15]) for l in P} G = [p for p in P.keys() if p[2] == 'A'] R = [] for g in G: C = g N = 0 for i in cycle(I): if C[2] == 'Z': break C = P[C][i == 'R'] N += 1 R.append(N) print(lcm(*R))
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# sans PPCM, t'est cuit
Posté par steph1978 . En réponse au message Advent of Code 2023, day 8. Évalué à 1.
J'ai bien brûlé du CPU avant de comprendre qu'il fallait pas tout faire tourner en même temps mais juste calculer le nombre d'étapes de chaque fantôme puis de prendre leur PPCM.
En 20 lignes de python: