From 84fce2b379a231fb01c191b24b2b1e35dd2707a1 Mon Sep 17 00:00:00 2001 From: foosinn Date: Wed, 3 Jun 2020 23:20:36 +0200 Subject: [PATCH] working 15part2, but slower --- src/day15/main.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/day15/main.rs b/src/day15/main.rs index 40a6a7a..8fa0f5a 100644 --- a/src/day15/main.rs +++ b/src/day15/main.rs @@ -52,6 +52,7 @@ impl Map { fn walk(&mut self, start: &XY, computer: &intcode::Computer, steps: usize) -> Option { let steps = steps + 1; + let mut result = None; for dir in 1..=4 { let direction = Direction::from(dir); let xy = start.add((&direction).into()); @@ -66,17 +67,17 @@ impl Map { match status { Status::HitWall => (), Status::MoveComplete => match self.walk(&xy, &computer, steps) { - Some(i) => return Some(i + 1), + Some(i) => result = Some(i + 1), None => (), }, - Status::Finished => return Some(1), + Status::Finished => result = Some(1), _ => unreachable!("unknown status"), } } else { unreachable!("computer unexpectedly halted"); } } - None + result } fn fill(&mut self) -> usize {