summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--src/bin/day12.rs14
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()));
 }