From 35b84c161c7d8b28292893e1cc511b969d3563d9 Mon Sep 17 00:00:00 2001 From: alex <> Date: Mon, 16 Dec 2024 19:50:03 +0100 Subject: [PATCH] Day16 - cosmetic and still not working --- src/day16.rs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/day16.rs b/src/day16.rs index 111dee1..edc65e3 100644 --- a/src/day16.rs +++ b/src/day16.rs @@ -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()); -- 2.39.5