added remaining days

This commit is contained in:
2025-12-09 20:40:35 +01:00
parent 1c1252c4e1
commit b67163521e
10 changed files with 1255 additions and 10 deletions

View File

@@ -1,19 +1,23 @@
# Advent of Code 2025 # Advent of Code 2025
```bash ```bash
day01:A => 1150 ( 50us) day01:A => 1150 ( 52us)
day01:B => 1150 ( 48us) day01:B => 1150 ( 50us)
day02:A => 31839939622 ( 9568us) day02:A => 31839939622 ( 9337us)
day02:B => 41662374059 ( 69966us) day02:B => 41662374059 ( 68756us)
day03:A => 16812 ( 83us) day03:A => 16812 ( 83us)
day03:B => 166345822896410 ( 287us) day03:B => 166345822896410 ( 292us)
day04:A => 1518 ( 192us) day04:A => 1518 ( 190us)
day04:B => 0 ( 0us) day04:B => 0 ( 0us)
day05:A => 0 ( 0us) day05:A => 0 ( 0us)
day05:B => 0 ( 0us) day05:B => 0 ( 0us)
day06:A => 6503327062445 ( 203us) day06:A => 6503327062445 ( 201us)
day06:B => 9640641878593 ( 27us) day06:B => 9640641878593 ( 135us)
day09:A => 4725826296 ( 163us) day07:A => 0 ( 0us)
day07:B => 0 ( 0us)
day08:A => 0 ( 0us)
day08:B => 0 ( 0us)
day09:A => 4725826296 ( 160us)
day09:B => 0 ( 0us) day09:B => 0 ( 0us)
---------- ----------
82834us 81842us
``` ```

142
puzzles/input07.txt Normal file
View File

@@ -0,0 +1,142 @@
......................................................................S......................................................................
.............................................................................................................................................
......................................................................^......................................................................
.............................................................................................................................................
.....................................................................^.^.....................................................................
.............................................................................................................................................
....................................................................^.^.^....................................................................
.............................................................................................................................................
...................................................................^.....^...................................................................
.............................................................................................................................................
..................................................................^.^.^.^.^..................................................................
.............................................................................................................................................
.................................................................^.^.^.^.^.^.................................................................
.............................................................................................................................................
................................................................^.^.^...^.^.^................................................................
.............................................................................................................................................
...............................................................^.....^.^...^.^...............................................................
.............................................................................................................................................
..............................................................^.^.^.^.^.^.^.^.^..............................................................
.............................................................................................................................................
.............................................................^.^.^.^.....^.^...^.............................................................
.............................................................................................................................................
............................................................^.^...^.^.^.^.^...^.^............................................................
.............................................................................................................................................
...........................................................^.....^.^.^...^.^.^.^.^...........................................................
.............................................................................................................................................
..........................................................^.^.^.^.^.^.^.^...^.^...^..........................................................
.............................................................................................................................................
.........................................................^.^.^.^.^.^...^...^.^.^...^.........................................................
.............................................................................................................................................
........................................................^.^.^.^.^.^.^.^.......^.^.^.^........................................................
.............................................................................................................................................
.......................................................^.^.^.....^...^...^.^...^...^.^.......................................................
.............................................................................................................................................
......................................................^.....^.^.^.^.^.^...^.^.^.^...^.^......................................................
.............................................................................................................................................
.....................................................^.^...^...^...^.^.^.^...^.....^.^.^.....................................................
.............................................................................................................................................
....................................................^.^.^.^...^...^.^.^.^.^.^.^.^.^...^.^....................................................
.............................................................................................................................................
...................................................^.^...^.^.^.......^.^.^...^...^.^.^.^.^...................................................
.............................................................................................................................................
..................................................^...^.^.^.^.^.^.^.^.^.^.^...^...^.....^.^..................................................
.............................................................................................................................................
.................................................^.^.^...^.^.^.^...^.^.^...^.^.^...^...^.^.^.................................................
.............................................................................................................................................
................................................^.^.......^...^...^.^...^...^.^.^.^.^.^.^...^................................................
.............................................................................................................................................
...............................................^.^...^.^.....^...^.^.^.^.^.^.^.^.^.^.^.^...^.^...............................................
.............................................................................................................................................
..............................................^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.....^.^...^.^..............................................
.............................................................................................................................................
.............................................^.^.^...^.^...^.^.^.^.^.^.^.^.....^.^.....^.^.^.^.^.............................................
.............................................................................................................................................
............................................^...^.....^.^.^...^.^...^.^.^.^...^.^.^.^.^.^...^.^.^............................................
.............................................................................................................................................
...........................................^.^.^.^.^.^...^...^.^.^...^.^.^.^.^...^.^.....^.^.....^...........................................
.............................................................................................................................................
..........................................^.^...^...^.^.^.^.^...^.^...^.^...^...^.^.^...^.^.^.^...^..........................................
.............................................................................................................................................
.........................................^.^.^...^.^.....^.^.........^.^.^.^.......^.^.^.......^.^.^.........................................
.............................................................................................................................................
........................................^...^...^.......^.^.......^...^.^.^.^...^.^.^.^.^.^.^.....^.^........................................
.............................................................................................................................................
.......................................^...^.^.....^...^.^.^.^.^.^.^.^.^.^...^.^.^.^.^...^...^.^.^.^.^.......................................
.............................................................................................................................................
......................................^.^.^.....^.^...^.^.^...^...^.....^.^...^...^...^.^.....^.^...^.^......................................
.............................................................................................................................................
.....................................^.^.^.^.^.^.^.....^.^...^...^.^.^...^...^.^.^.^.^.^.^.^.^...^.^...^.....................................
.............................................................................................................................................
....................................^...^.^.^.^...^...^.^...^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^....................................
.............................................................................................................................................
...................................^.^.^.^.............^.....^.^...^...^.^.....^.^...^.^...^.^.^...^.^.^.^...................................
.............................................................................................................................................
..................................^.^.....^.^.^.^.^.^.^.^.....^.^...^.^...^.......^.^.^.....^.^...^.^.^.^.^..................................
.............................................................................................................................................
.................................^.^.^.^.^.^.^.^.^.^...^.^.^.^.......^...^.^...^.^...^.^.^.^.....^.^.^.^.^.^.................................
.............................................................................................................................................
................................^.^...^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^...^.^...^...^.^...^.^.^.^...^.^.^...^................................
.............................................................................................................................................
...............................^.....^.^.^.......^.^...^...^.^.^.^.^.^...^.^.^.^.^...^.^.^...^.^...^.^.^.^.^.^...............................
.............................................................................................................................................
..............................^.^.^.^.......^...^.^.^...^.^...^...^.^.^...^.^...^.^.^.^...^...^.^.^...^.^.^.^.^..............................
.............................................................................................................................................
.............................^...^.....^...^.^.^.^...^...^.^.^.^.^...^.^.^.^.^.^.^.^...^.^.....^.......^...^.^.^.............................
.............................................................................................................................................
............................^.^.^.^.^.^.^...^...^.^...^.^.....^.^...^.^...^.^...^.^.^.^...^.....^...^.^.^.^.^...^............................
.............................................................................................................................................
...........................^.^.^.....^.^.^.....^.^.^.^.^.^.^...^.^.^.^.^.^.....^.^...^...^.^.^.^...^...^.....^.^.^...........................
.............................................................................................................................................
..........................^...^.^.......^.^.^.^.^.^...^.^.^.^.^.^.....^...^...^...^...^...^.^...^.^...^.^.^...^.^.^..........................
.............................................................................................................................................
.........................^.^.^.^.^.^...........^.^.^.^...^.^.^.^.^...^.....^.^.^.^.^.^.......^.^.^...^.^.^...^.^.^.^.........................
.............................................................................................................................................
........................^.^.....^.^.^...^.^.^...^...^.^.^.^...^.....^.....^.^...^.^.^...^.^.^.^.^...^.^.^.^...^.^...^........................
.............................................................................................................................................
.......................^.^.^...^.^.^.^.....^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^...^.^.^.......................
.............................................................................................................................................
......................^...^.^.^...^.^...^.^...^.^.^...^.^.^...^.^.^.^.^...^.^.^.^...^.^.^.....^.^.^...^.^...^.^.....^.^......................
.............................................................................................................................................
.....................^.^.^.....^...^...^.^.^.^.^.^.^.^...^.^.^.^...^.^.^.^...^.^.^.^.^.^...^.....^.^.^.^.^.^.....^.^...^.....................
.............................................................................................................................................
....................^.^...^.^...^.^.^.^...^.....^...^.^...^.^.^.^.^.^.^.^.^.^.^.....^.^.^...^.^.^...^...^...^.^.^.^...^.^....................
.............................................................................................................................................
...................^.^...^.^.....^.^...^.^...^.^.^.^...^.^.^.^.^.....^.^.^.......^.^.^.^...^...^.^.^.^.^.^.^.^.^.^.....^.^...................
.............................................................................................................................................
..................^.^.^...^.^.^...^.....^.^.^.....^.^...^.^.^.^.^.^.^...^.^.^.^.^.^.^.........^.^.^.^.^.^.^.^.....^.^.^.^.^..................
.............................................................................................................................................
.................^...^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.....^...^.^.^.^.....^.^.^.^.^...^.^...^...^.^...^.^.^.^.^...^...^.................
.............................................................................................................................................
................^.^.......^.........^.^.....^.^.^.^.^.^.^.....^...^.^.....^.^.^.......^.^...^.^.^.^.^.^.^.....^.^...^.^.^.^.^................
.............................................................................................................................................
...............^...^.^...^.....^.^.^.^.^.^.^.^...^.^.^.........^.^.^.^...^.^.^.^.^.^.^.^.....^.^.^.^.^.^.^.^.^.^.^.^.......^.^...............
.............................................................................................................................................
..............^...^.^.^.^.^.^.^.^...^.^.^...^.^.^.^...^...^...^...^.^.....^...^.^.^.^.^.^.^.....^.^.^...^...^.^...^.^.......^.^..............
.............................................................................................................................................
.............^.......^.^.^.^...^.^...^.^.^.^...^.^.^.^.^.^.^.^.....^.^...^...^...^.^.^...^.^...^.^.....^.^...^.^...^...^.^.^.^.^.............
.............................................................................................................................................
............^.....^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.....^.....^.^...^...^.......^.....^...^...^.^.^.^.^.^.^.....^...^.^.^.^.^............
.............................................................................................................................................
...........^...^.^.^...^...^.^.^.^.^.^.^.^.^.....^.^.........^...^.^...^.^.^.^...^...........^.^.^.^.....^...^.^.^.^.^...^...^.^.^...........
.............................................................................................................................................
..........^.^.^.........^.^.^.^.....^.^.^.^.^.^.^.^.....^.^.^...^.^.^...^.^.^.^.^.^.^.^.^...^...^.^.^.^.^.^.^.^.^.^.^...^.^...^...^..........
.............................................................................................................................................
.........^.^.^.....^.^.^...^.....^.^.^...^.....^...^.^.^...^.....^...^.^.^.....^.^.^...^.^.......^.^.^.....^.^.^.^.^...^.^...^...^.^.........
.............................................................................................................................................
........^.^.^.^.^...^...^.^...^.^.^.^.^.^...^.^.^.^.....^.^.^.^.^.^.^.^.^.^.............^.^.^...^.....^.^...^.^.^.^.^.^.^.^.^.^.^.^.^........
.............................................................................................................................................
.......^.^...^.^...^.^.^.^...^...^.^.^.^.^.^.^.^.....^.^...^.^.^...^...^.^.^...^.^.^.^.....^.^...^.^.....^...^.^.....^.^.^.^.^.^.....^.......
.............................................................................................................................................
......^.^.^.^.^.....^.^.^.^.^.^.......^.^.^.^.^.^...^.^...^.....^.^.^.^...^.^.^.^.^.^.^.^.^.^.^...^.....^...^.^.^.^.^.....^.^.^.^...^.^......
.............................................................................................................................................
.....^...^.^.^.^.^...^.^.^.^...^.^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.....^.^.^.^...^.^...^.^.^.....^.^.^.^.^...^...^...^.....^.^.^...^.^.^.^.....
.............................................................................................................................................
....^.^.^...^.^.^.^.^.^.^.^.....^.^.....^.^.^...^.^.^.^.^.^.....^.^.^...^.^.....^.^.^...^.........^...^.^.^.^.^.^...........^.^.^.....^.^....
.............................................................................................................................................
...^.^.^.^...^...^.^...^.^.^.^.^...^.^.^...^.^.....^...^.^...^.^...^...^.^.^...^...^.^.^.^.^.....^.^...^.^.^...^.....^...^.....^...^.....^...
.............................................................................................................................................
..^.^.^...^...^...^.^...^.^.^.^.^.....^.....^.^...^.^...^.^.^.^.^...^.^.^...^.^.^.^.^.^.^...^.^...^.^.^...^.^.^.^.^...^.^.^.....^...^...^.^..
.............................................................................................................................................
.^...^.^.^.....^.....^...^.....^.^...^...^.......^.^.^.^.^.^.^.^...^.^...^.^.^...^.^.^.^...^.^.^...........^.^...^...^.^.^...^...^...^.^...^.
.............................................................................................................................................

1000
puzzles/input08.txt Normal file

File diff suppressed because it is too large Load Diff

36
src/day07/mod.rs Normal file
View File

@@ -0,0 +1,36 @@
pub mod part07a;
pub mod part07b;
#[cfg(test)]
mod tests {
use crate::day07::{part07a, part07b};
const PUZZLE: &str = ".......S.......
...............
.......^.......
...............
......^.^......
...............
.....^.^.^.....
...............
....^.^...^....
...............
...^.^...^.^...
...............
..^...^.....^..
...............
.^.^.^.^.^...^.
...............";
#[test]
#[ignore]
fn part07a() {
assert_eq!(part07a::solve(PUZZLE.to_string()), 21);
}
#[test]
#[ignore]
fn part07b() {
assert_eq!(part07b::solve(PUZZLE.to_string()), 0);
}
}

4
src/day07/part07a.rs Normal file
View File

@@ -0,0 +1,4 @@
pub fn solve(puzzle: String) -> u64 {
0 // TODO
}

4
src/day07/part07b.rs Normal file
View File

@@ -0,0 +1,4 @@
pub fn solve(puzzle: String) -> u64 {
0 // TODO
}

40
src/day08/mod.rs Normal file
View File

@@ -0,0 +1,40 @@
pub mod part08a;
pub mod part08b;
#[cfg(test)]
mod tests {
use crate::day08::{part08a, part08b};
const PUZZLE: &str = "162,817,812
57,618,57
906,360,560
592,479,940
352,342,300
466,668,158
542,29,236
431,825,988
739,650,466
52,470,668
216,146,977
819,987,18
117,168,530
805,96,715
346,949,466
970,615,88
941,993,340
862,61,35
984,92,344
425,690,689";
#[test]
#[ignore]
fn part08a() {
assert_eq!(part08a::solve(PUZZLE.to_string()), 40);
}
#[test]
#[ignore]
fn part08b() {
assert_eq!(part08b::solve(PUZZLE.to_string()), 0);
}
}

4
src/day08/part08a.rs Normal file
View File

@@ -0,0 +1,4 @@
pub fn solve(puzzle: String) -> u64 {
0 // TODO
}

4
src/day08/part08b.rs Normal file
View File

@@ -0,0 +1,4 @@
pub fn solve(puzzle: String) -> u64 {
0 // TODO
}

View File

@@ -4,7 +4,10 @@ mod day03;
mod day04; mod day04;
mod day05; mod day05;
mod day06; mod day06;
mod day07;
mod day08;
mod day09; mod day09;
use std::time::Instant; use std::time::Instant;
use std::fs::OpenOptions; use std::fs::OpenOptions;
@@ -34,6 +37,10 @@ fn main() {
("day05:B", day05::part05b::solve, "puzzles/input05.txt"), ("day05:B", day05::part05b::solve, "puzzles/input05.txt"),
("day06:A", day06::part06a::solve, "puzzles/input06.txt"), ("day06:A", day06::part06a::solve, "puzzles/input06.txt"),
("day06:B", day06::part06b::solve, "puzzles/input06.txt"), ("day06:B", day06::part06b::solve, "puzzles/input06.txt"),
("day07:A", day07::part07a::solve, "puzzles/input07.txt"),
("day07:B", day07::part07b::solve, "puzzles/input07.txt"),
("day08:A", day08::part08a::solve, "puzzles/input08.txt"),
("day08:B", day08::part08b::solve, "puzzles/input08.txt"),
("day09:A", day09::part09a::solve, "puzzles/input09.txt"), ("day09:A", day09::part09a::solve, "puzzles/input09.txt"),
("day09:B", day09::part09b::solve, "puzzles/input09.txt"), ("day09:B", day09::part09b::solve, "puzzles/input09.txt"),
]; ];