]> aoc.elinar.fr Git - aoc_2024/commitdiff
Day16 - cosmetic and still not working
authoralex <>
Mon, 16 Dec 2024 18:50:03 +0000 (19:50 +0100)
committeralex <>
Mon, 16 Dec 2024 18:50:03 +0000 (19:50 +0100)
src/day16.rs

index 111dee1b0ea6e01f0dbbc9d53abb7ba4563f925b..edc65e3761b063319de2edac777409c32fc66166 100644 (file)
@@ -29,7 +29,7 @@ impl Puzzle {
         let mut end = (-1, -1);
         input.lines().enumerate()
             .for_each(|(row, line)| {
-                line.as_bytes().into_iter().enumerate()
+                line.as_bytes().iter().enumerate()
                     .for_each(|(col, &value)| {
                         let (row, col) = (row as isize, col as isize);
                         match value {
@@ -74,17 +74,17 @@ impl Puzzle {
                 .filter(|d| *d != dir_opp)
                 .filter(|d| self.map.contains_key(&(pos.0 + d.0, pos.1 + d.1)))
                 .for_each(|dir| {
-                    let pos_new = (pos.0 + dir.0, pos.1 + dir.1);
-                    if self.map.contains_key(&pos_new) {
-                        let tile_new = score.get_mut(&pos_new).unwrap();
-                        let mut score_new = score_curr + 1;
+                    let pos_next = (pos.0 + dir.0, pos.1 + dir.1);
+                    if self.map.contains_key(&pos_next) {
+                        let mut score_next = score_curr + 1;
                         if dir != dir_curr {
-                            score_new += 1000;
+                            score_next += 1000;
                         }
-                        if tile_new.score == INFINITE_SCORE || score_new < tile_new.score {
-                            tile_new.score = score_new;
-                            tile_new.dir = dir;
-                            next.push(pos_new);
+                        let tile_next = score.get_mut(&pos_next).unwrap();
+                        if score_next < tile_next.score {
+                            tile_next.score = score_next;
+                            tile_next.dir = dir;
+                            next.push(pos_next);
                         }
                     }
                 });
@@ -97,7 +97,7 @@ impl Puzzle {
             //println!("  next={:?}", next);
         }
 
-        (*score.get(&self.end).unwrap()).score
+        score.get(&self.end).unwrap().score
     }
 }
 
@@ -214,7 +214,6 @@ mod tests {
 #S...................#.............................#
 ####################################################";
 
-
     #[test]
     fn test_part1() {
         assert_eq!(7036, run_part1(TEXT_INPUT_0).unwrap());