From 9ed14830d02fc73306275ce487b0fe26234f222d Mon Sep 17 00:00:00 2001 From: Sebastian Seedorf Date: Sun, 13 Dec 2020 20:13:31 +0100 Subject: [PATCH] Day 13 (minified version 3) --- day13/part2-minified.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/day13/part2-minified.py b/day13/part2-minified.py index 1430cbf..3cd6357 100644 --- a/day13/part2-minified.py +++ b/day13/part2-minified.py @@ -1,9 +1,5 @@ -from functools import reduce -from math import gcd -lcm = lambda a, b: abs(a*b) // gcd(a, b) +from functools import reduce; from math import gcd; lcm = lambda a, b: abs(a*b) // gcd(a, b) def merge(a, b, x, y): - while b != y: - if b < y: b += a * ((y-b-1) // a + 1) - else: y += x * ((b-y-1) // x + 1) + while b != y: b += a * (max(-1, y-b-1) // a + 1); y += x * (max(-1, b-y-1) // x + 1) return lcm(a, x), b print(reduce(lambda fn, fm: merge(*fn, *fm), ((int(x), -idx) for idx, x in enumerate([x.strip() for x in open("input.txt")][1].split(',')) if x != 'x'), (1, 0))[1])