summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <programble@gmail.com>2016-12-12 00:35:32 -0500
committerJune McEnroe <programble@gmail.com>2016-12-12 00:35:32 -0500
commit4fd65af5b186dcd8525e9734f5c2f68228ea3d1a (patch)
tree134ebe19c6d9a77d52a6fa735e75f7b11ac25283
parentDay 12 (diff)
downloadaoc-4fd65af5b186dcd8525e9734f5c2f68228ea3d1a.tar.gz
aoc-4fd65af5b186dcd8525e9734f5c2f68228ea3d1a.zip
Day 12 part 2
-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()));
 }