diff --git a/aoc2023/src/main/java/io/github/zebalu/aoc2023/days/Day17.java b/aoc2023/src/main/java/io/github/zebalu/aoc2023/days/Day17.java index d4fbbac..f2c188f 100644 --- a/aoc2023/src/main/java/io/github/zebalu/aoc2023/days/Day17.java +++ b/aoc2023/src/main/java/io/github/zebalu/aoc2023/days/Day17.java @@ -12,14 +12,14 @@ public static void main(String[] args) { } private static int part1(List maze) { - return minHeatLoss(maze, 3, (a, b) -> true); + return minHeatLoss(maze, 3, (a, b) -> true, i -> true); } private static int part2(List maze) { - return minHeatLoss(maze, 10, (c, s) -> 4 <= s.straightLength() || s.pos().directionOf(c) == s.dir()); + return minHeatLoss(maze, 10, (c, s) -> 4 <= s.straightLength() || s.pos().directionOf(c) == s.dir(), i -> 4<= i); } - private static int minHeatLoss(List maze, int maxLength, BiPredicate nextFilter) { + private static int minHeatLoss(List maze, int maxLength, BiPredicate nextFilter, Predicate stopFilter) { int height = maze.size(); int width = maze.getFirst().length(); Predicate isValidCood = c -> 0 <= c.x() && 0 <= c.y() && c.x < width && c.y < height; @@ -36,7 +36,7 @@ private static int minHeatLoss(List maze, int maxLength, BiPredicate