diff --git a/2019/day3/day3.hs b/2019/day3/day3.hs index 0bf0bbf..fea3e7e 100644 --- a/2019/day3/day3.hs +++ b/2019/day3/day3.hs @@ -28,8 +28,7 @@ day3a xs ys = Set.findMin $ Set.map manhattan (intersections xs ys) where manhattan (V2 x y) = abs x + abs y intersections :: [V2 Int] -> [V2 Int] -> Set.Set (V2 Int) -intersections xs ys = Set.delete (V2 0 0) crossset - where crossset = (Set.fromList xs) `Set.intersection` (Set.fromList ys) +intersections xs ys = (Set.fromList xs) `Set.intersection` (Set.fromList ys) -day3b xs ys = minimum [let f = fromJust . elemIndex x in +day3b xs ys = minimum [let f = succ . fromJust . elemIndex x in f xs + f ys | x<-Set.toList $ intersections xs ys]