◂ 8 décembre 2023 ▸
Haunted Wasteland : Parcourir un chemin selon des instructions gauche/droite
LRLRLLRRLLRRLR …
LFM = (PCJ, GQH)
THP = (SPP, MKB)
PBL = (VVX, JMM)
⋮
Bêtement pas parti du bon endroit et j'arrivais dans une boucle infinie. J'ai donc passé une heure à optimiser mon code hyper intelligemment pour qu'il soit mille fois plus rapide. Mais infini divisé par mille…
- code1.py
- code1_optim.py
- code2.py
from itertools import cycle
f = open("input.txt", 'r', encoding='utf-8')
lines = [line[:-1] for line in f.readlines()]
instructions = lines[0]
directions = dict()
for line in lines[2:]:
directions[line[0:3]] = (line[7:10], line[12:15])
location = 'AAA' # J'ai perdu littéralement une heure parce que je partais non de 'AAA'
# mais de l'endroit de la première ligne et que ça donnait une boucle infinie… >_>
nb_steps = 0
for next_dir in cycle(instructions):
nb_steps += 1
if next_dir == 'L':
location = directions[location][0]
else:
location = directions[location][1]
if location == 'ZZZ':
break
print("Réponse partie 1:", nb_steps)