Files
AdventOfCode2023/src/main.rs
T

42 lines
1.2 KiB
Rust

mod solutions;
mod utils;
use std::{error::Error, time::SystemTime};
use solutions::*;
use crate::utils::get_input;
fn main() -> Result<(), Box<dyn Error>> {
let days: Vec<Box<dyn Solution>> = vec![Box::new(day01::Day01 {}), Box::new(day02::Day02 {})];
// Run through and generate solutions
for day in days.iter().rev() {
println!("========== Day {} ==========", day.get_day());
let start_time = SystemTime::now();
println!(
"Part1 Test: {}",
day.part1(get_input(day.get_day(), utils::InputType::Test1)?.as_mut())?
);
println!(
"Part1 Result: {}",
day.part1(get_input(day.get_day(), utils::InputType::Actual)?.as_mut())?
);
println!(
"Part2 Test: {}",
day.part2(get_input(day.get_day(), utils::InputType::Test2)?.as_mut())?
);
println!(
"Part2 Result: {}",
day.part2(get_input(day.get_day(), utils::InputType::Actual)?.as_mut())?
);
println!(
"========= {}ms =========",
SystemTime::now().duration_since(start_time)?.as_millis()
);
}
Ok(())
}