diff options
-rw-r--r-- | src/bin/day12.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/bin/day12.rs b/src/bin/day12.rs index 64b09f8..6655947 100644 --- a/src/bin/day12.rs +++ b/src/bin/day12.rs @@ -108,17 +108,25 @@ impl Vm { } } -fn solve(input: &str) -> i32 { +fn solve1(input: &str) -> i32 { let mut vm: Vm = input.parse().unwrap(); while vm.step() { } vm.registers[0] } +fn solve2(input: &str) -> i32 { + let mut vm: Vm = input.parse().unwrap(); + vm.registers[2] = 1; + while vm.step() { } + vm.registers[0] +} + fn main() { let mut input = String::new(); io::stdin().read_to_string(&mut input).unwrap(); - println!("Part 1: {}", solve(&input)); + println!("Part 1: {}", solve1(&input)); + println!("Part 2: {}", solve2(&input)); } #[test] @@ -131,5 +139,5 @@ dec a jnz a 2 dec a "; - assert_eq!(42, solve(input.trim())); + assert_eq!(42, solve1(input.trim())); } |