updated gitignore
This commit is contained in:
parent
a76b114837
commit
3fb61d335f
@ -1,47 +0,0 @@
|
||||
from math import gcd
|
||||
import sys
|
||||
|
||||
steps, _, *rest = open(sys.argv[1]).read().splitlines()
|
||||
|
||||
network = {}
|
||||
|
||||
for line in rest:
|
||||
pos, targets = line.split(" = ")
|
||||
network[pos] = targets[1:-1].split(", ")
|
||||
|
||||
positions = [key for key in network if key.endswith("A")]
|
||||
cycles = []
|
||||
|
||||
for current in positions:
|
||||
cycle = []
|
||||
|
||||
current_steps = steps
|
||||
step_count = 0
|
||||
first_z = None
|
||||
|
||||
while True:
|
||||
print(current_steps)
|
||||
while step_count == 0 or not current.endswith("Z"):
|
||||
step_count += 1
|
||||
current = network[current][0 if current_steps[0] == "L" else 1]
|
||||
print(current)
|
||||
current_steps = current_steps[1:] + current_steps[0]
|
||||
print(current_steps)
|
||||
cycle.append(step_count)
|
||||
|
||||
if first_z is None:
|
||||
first_z = current
|
||||
step_count = 0
|
||||
elif current == first_z:
|
||||
break
|
||||
|
||||
cycles.append(cycle)
|
||||
|
||||
nums = [cycle[0] for cycle in cycles]
|
||||
|
||||
lcm = nums.pop()
|
||||
|
||||
for num in nums:
|
||||
lcm = lcm * num // gcd(lcm, num)
|
||||
|
||||
print(lcm)
|
Loading…
Reference in New Issue
Block a user