X-Git-Url: https://git.njae.me.uk/?p=advent-of-code-19.git;a=blobdiff_plain;f=advent19%2Fsrc%2Fadvent19.hs;fp=advent19%2Fsrc%2Fadvent19.hs;h=0cf73eec571b006ae66d6fe12ddbaae48d8016cb;hp=7543513837c4096960dfe2fea3d6d22e5f5c31b6;hb=0ec58176ef0b59be76d4c2798d4d3fabdb121a24;hpb=5571128ccde9145b55276adc236667be871253f2 diff --git a/advent19/src/advent19.hs b/advent19/src/advent19.hs index 7543513..0cf73ee 100644 --- a/advent19/src/advent19.hs +++ b/advent19/src/advent19.hs @@ -76,8 +76,8 @@ traceUpper machine prev x = u' traceLower :: Machine -> (Integer, Integer) -> Integer -> (Integer, Integer) traceLower machine (_, prev) x = (x, l') where (bic, foundU) = beamInColumn machine x - startU = max prev foundU - l = head $ dropWhile (\y -> tractorBeamAt machine x y) [startU..] + startL = if prev == 0 then foundU else prev + l = head $ dropWhile (\y -> tractorBeamAt machine x y) [startL..] l' = if prev == 0 && bic == False then 0 else l - 1