added solution to repo

This commit is contained in:
2025-12-04 01:54:02 +01:00
parent 4e9ded8482
commit 81e91b24a9
2 changed files with 33 additions and 3 deletions

10
solution.md Normal file
View File

@@ -0,0 +1,10 @@
# Advent of code 2025
```day01:A => 1150 ( 283us)
day01:B => 6738 ( 100us)
day02:A => 31839939622 ( 8230us)
day02:B => 41662374059 ( 64586us)
day03:A => 16812 ( 1506us)
day03:B => 166345822896410 ( 322us)
----------
75267us
```

View File

@@ -1,9 +1,22 @@
use std::fmt::format;
use std::time::Instant;
use day01::{part01a, part01b};
use day02::{part02a, part02b};
use day03::{part03a, part03b};
use std::fs::OpenOptions;
use std::io::Write;
use std::io::Result;
fn main() {
let mut file = OpenOptions::new()
.write(true) // Open the file for writing
.create(true) // Create the file if it doesn't exist
.truncate(true) // Clear the file if it already exists
.open("solution.md").expect("Cannot open or create file");
file.write_all(b"# Advent of code 2025\n```").expect("Cannot write to file");
let exercises: Vec<(&str, fn () -> u64)> = vec![
("day01:A", part01a::solve),
("day01:B", part01b::solve),
@@ -16,9 +29,16 @@ fn main() {
let start: Instant = Instant::now();
exercises.iter().for_each(|(day, func)| {
let day_start: Instant = Instant::now();
println!("{:7} => {:15} ({:6}us)", day, func(), day_start.elapsed().as_micros());
let solution = format!("{:7} => {:15} ({:6}us)\n", day, func(), day_start.elapsed().as_micros());
print!("{}", solution);
file.write(solution.as_bytes()).expect("Cannot write to file");
});
println!(" ----------");
println!(" {:7}us", start.elapsed().as_micros());
let banner = " ----------\n";
let end_time = format!(" {:7}us\n", start.elapsed().as_micros());
print!("{}", banner);
file.write(banner.as_bytes()).expect("Cannot write to file");
println!("{}", end_time);
file.write(end_time.as_bytes()).expect("Cannot write to file");
file.write(b"```").expect("Cannot write to file");
}