From 353d185a1f89654f999dca7b75016ebef461a23c Mon Sep 17 00:00:00 2001 From: Tomasz Chojnacki Date: Fri, 30 Dec 2022 14:35:09 +0100 Subject: Finish day 24 --- aoc-2022-dotnet/Day15/Program.fs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'aoc-2022-dotnet/Day15') diff --git a/aoc-2022-dotnet/Day15/Program.fs b/aoc-2022-dotnet/Day15/Program.fs index e158346..427c411 100644 --- a/aoc-2022-dotnet/Day15/Program.fs +++ b/aoc-2022-dotnet/Day15/Program.fs @@ -53,15 +53,15 @@ let sensorList = let (sensorPos, beaconPos) = Util.parse pline line { Pos = sensorPos - Radius = Vec2.mahattanDist sensorPos beaconPos + Radius = Vec2.manhattanDist sensorPos beaconPos NearestBeacon = beaconPos } Seq.map parseSensor >> List.ofSeq let rowCoverages y sensors = let coverage ({ Radius = radius; Pos = pos }) = - let offset = radius - abs (Vec2.y pos - y) - (Vec2.x pos - offset, Vec2.x pos + offset) + let offset = radius - abs (pos.y - y) + (pos.x - offset, pos.x + offset) sensors |> Seq.map coverage @@ -72,11 +72,7 @@ let solution1 y input = let beaconsInRow = sensors - |> Seq.choose (fun ({ NearestBeacon = b }) -> - if Vec2.y b = y then - Some(Vec2.x b) - else - None) + |> Seq.choose (fun ({ NearestBeacon = b }) -> if b.y = y then Some(b.x) else None) |> Util.countDistinct sensors -- cgit v1.2.3