advent-of-code-2023/src/main.rs

128 lines
2.5 KiB
Rust
Raw Normal View History

2023-11-30 12:22:50 +01:00
pub mod days;
2023-12-14 15:00:48 +01:00
#[macro_use]
extern crate scan_fmt;
use std::time::Instant;
2023-12-08 11:52:20 +01:00
2023-11-30 12:22:50 +01:00
fn main() {
2023-12-16 15:49:05 +01:00
//days::d16::solve()
_all_days()
2023-11-30 12:22:50 +01:00
}
2023-12-15 17:11:47 +01:00
#[allow(unreachable_code, unused)]
2023-11-30 12:22:50 +01:00
fn _all_days() {
2023-12-14 15:00:48 +01:00
let start = Instant::now();
2023-12-15 17:11:47 +01:00
let mut time = start.clone();
2023-12-14 15:00:48 +01:00
println!("\nDay 1");
2023-11-30 12:22:50 +01:00
days::d01::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 2");
days::d02::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 3");
days::d03::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 4");
days::d04::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 5");
days::d05::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 6");
days::d06::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 7");
days::d07::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 8");
days::d08::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 9");
days::d09::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 10");
days::d10::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 11");
days::d11::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 12");
days::d12::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 13");
days::d13::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-14 15:00:48 +01:00
println!("\nDay 14");
days::d14::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
2023-12-15 16:06:12 +01:00
println!("\nDay 15");
days::d15::solve();
2023-12-15 17:11:47 +01:00
time = _print_elapsed(time);
println!("\nDay 16");
days::d16::solve();
time = _print_elapsed(time);
/*
println!("\nDay 17");
days::d17::solve();
time = _print_elapsed(time);
println!("\nDay 18");
days::d18::solve();
time = _print_elapsed(time);
println!("\nDay 19");
days::d19::solve();
time = _print_elapsed(time);
println!("\nDay 20");
days::d20::solve();
time = _print_elapsed(time);
println!("\nDay 21");
days::d21::solve();
time = _print_elapsed(time);
println!("\nDay 22");
days::d22::solve();
time = _print_elapsed(time);
println!("\nDay 23");
days::d23::solve();
time = _print_elapsed(time);
println!("\nDay 24");
days::d24::solve();
time = _print_elapsed(time);
println!("\nDay 25");
days::d25::solve();
_print_elapsed(time);*/
println!("\nTotal elapsed: {}ms", start.elapsed().as_millis())
2023-12-14 15:00:48 +01:00
}
2023-12-15 17:11:47 +01:00
fn _print_elapsed(time: Instant) -> Instant {
2023-12-14 15:00:48 +01:00
println!(
" Elapsed: {}.{}ms",
2023-12-15 17:11:47 +01:00
time.elapsed().as_millis(),
time.elapsed().as_micros() % 1000
);
Instant::now()
2023-11-30 12:22:50 +01:00
}