add: part1

This commit is contained in:
starnakin 2023-12-08 10:21:09 +01:00
parent 0d50624697
commit ca39de9040
3 changed files with 41 additions and 0 deletions

9
2023/day08/example1.txt Normal file
View File

@ -0,0 +1,9 @@
RL
AAA = (BBB, CCC)
BBB = (DDD, EEE)
CCC = (ZZZ, GGG)
DDD = (DDD, DDD)
EEE = (EEE, EEE)
GGG = (GGG, GGG)
ZZZ = (ZZZ, ZZZ)

5
2023/day08/example2.txt Normal file
View File

@ -0,0 +1,5 @@
LLR
AAA = (BBB, BBB)
BBB = (AAA, ZZZ)
ZZZ = (ZZZ, ZZZ)

27
2023/day08/src/part1.py Normal file
View File

@ -0,0 +1,27 @@
text: str = open("input.txt", "r").read()
_value: int = 0
lines = text.splitlines()
deplacements = lines[0]
ground = {}
for line in lines[2:]:
data = line.split(" = ")
data[1] = data[1][1:9]
ground.update({data[0]: data[1].split(", ")})
def resolve(ground: dict, deplacements: str, start: str):
nb_deplacement = 0
pos = start
while True:
for deplacement in deplacements:
if (pos == "ZZZ"):
return (nb_deplacement)
nb_deplacement += 1
pos = ground.get(pos)[deplacement == "R"]
_value = resolve(ground, deplacements, "AAA")
print(_value)