42 lines
1.2 KiB
Rust
Raw Normal View History

2023-12-01 06:41:23 +00:00
mod solutions;
2023-12-01 17:55:07 +00:00
mod utils;
2023-12-01 06:41:23 +00:00
2023-12-01 17:55:07 +00:00
use std::{error::Error, time::SystemTime};
2023-12-01 07:42:48 +00:00
2023-12-01 16:13:54 +00:00
use solutions::*;
2023-12-01 07:42:48 +00:00
use crate::utils::get_input;
2023-12-01 17:55:07 +00:00
fn main() -> Result<(), Box<dyn Error>> {
let days: Vec<Box<dyn Solution>> = vec![Box::new(day01::Day01 {}), Box::new(day02::Day02 {})];
2023-12-01 16:13:54 +00:00
// Run through and generate solutions
for day in days.iter().rev() {
2023-12-01 17:55:07 +00:00
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()
);
}
2023-12-01 07:42:48 +00:00
Ok(())
}