diff --git a/pom.xml b/pom.xml index 9a0e61e..1140998 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ UTF-8 1.18.36 - 5.11.3 + 5.11.4 3.5.2 3.13.0 diff --git a/src/test/java/com/adventofcode/flashk/day16/Day16Test.java b/src/test/java/com/adventofcode/flashk/day16/Day16Test.java index a59cd0e..2ecd0a4 100644 --- a/src/test/java/com/adventofcode/flashk/day16/Day16Test.java +++ b/src/test/java/com/adventofcode/flashk/day16/Day16Test.java @@ -226,6 +226,45 @@ public void testSolvePart2Debug2() { // Read input file char[][] inputs = Input.read2DCharArray(INPUT_FOLDER, "debug_edge_2.input"); + + // Source: https://www.reddit.com/r/adventofcode/comments/1hfhgl1/2024_day_16_part_1_alternate_test_case/ + + // ######################################################## + // #.........#.........#.........#.........#.........#...O# + // #...OOOOOO#...OOOOOO#...OOOOOO#...OOOOOO#...OOOOOO#...O# + // #...O#...O#...O#...O#...O#...O#...O#...O#...O#...O#...O# + // #...O#...O#...O#...O#...O#...O#...O#...O#...O#...O#...O# + // #...O#...O#...O#...O#...O#...O#...O#...O#...O#...O#...O# + // #...O#...O#...O#...O#...O#...O#...O#...O#...O#...O#...O# + // #...O#...OOOOOO#...OOOOOO#...OOOOOO#...OOOOOO#...OOOOOO# + // #OOOO#.........#.........#.........#.........#.........# + // ######################################################## + // + // Camino inicial: + // 21 giros + // 110 pasos + // Coste total = 21100 + + // Tras ejecutar el algoritmo de la parte 2 debería quedarse así: + // ######################################################## + // #.........#.........#.........#.........#.........#...O# + // #OOOOOOOOO#OOOOOOOOO#OOOOOOOOO#OOOOOOOOO#OOOOOOOOO#...O# + // #OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#...O# + // #OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#...O# + // #OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#...O# + // #OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#OOOO#...O# + // #OOOO#OOOOOOOOO#OOOOOOOOO#OOOOOOOOO#OOOOOOOOO#OOOOOOOOO# + // #OOOO#.........#.........#.........#.........#.........# + // ######################################################## + // + // 28 círculos caja izquierda + // 216 círculos caja centrales + // 10 círculos verticales + // 10 círculos en la última caja + // + // Total = 264 + // Cualquiera de los caminos óptimos tendría un coste de: 21110 + ReindeerMaze reindeerMaze = new ReindeerMaze(inputs); assertEquals(264L,reindeerMaze.solveB());