advent-of-code/2015/day-07/part_two.rs
Patrick Auernig 3c57921438 Refactor 2015 days 01 to 10
Split parts into separate files and remove some unused files
2021-12-08 01:05:17 +01:00

33 lines
784 B
Rust

mod common;
use std::env;
use std::fs::File;
use std::io::{self, BufRead};
use common::Circuit;
fn main() -> io::Result<()> {
let path = env::args().nth(1).unwrap();
let file = io::BufReader::new(File::open(path)?);
let instructions = file.lines().map(|l| l.unwrap()).collect::<Vec<_>>();
let mut circuit = Circuit::default();
for tokens in &instructions {
circuit.add_instruction(tokens);
}
circuit.execute();
let output = circuit.variable("a").copied().unwrap();
circuit = Circuit::default();
for tokens in &instructions {
circuit.add_instruction(tokens);
}
circuit.variable_override("b", output);
circuit.execute();
let output = circuit.variable("a").unwrap();
println!("{}", output);
Ok(())
}