This commit is contained in:
Spectre 2024-12-02 23:14:39 +01:00
parent 294c0a8e62
commit e1ca0d5f61
76 changed files with 4607 additions and 204 deletions

View file

@ -1,58 +1,118 @@
use shared::Solution;
use crate::day01::Day01;
use crate::day02::Day02;
use crate::day03::Day03;
use crate::day04::Day04;
use crate::day05::Day05;
use crate::day06::Day06;
use crate::day07::Day07;
use crate::day08::Day08;
use crate::day09::Day09;
use crate::day10::Day10;
use crate::day11::Day11;
use crate::day12::Day12;
use crate::day13::Day13;
use crate::day14::Day14;
use crate::day15::Day15;
use crate::day16::Day16;
use crate::day17::Day17;
use crate::day18::Day18;
use crate::day19::Day19;
use crate::day20::Day20;
use crate::day21::Day21;
use crate::day22::Day22;
use crate::day23::Day23;
use crate::day24::Day24;
use crate::day25::Day25;
use shared::{Solution, Answer};
pub mod day01;
pub mod day02;
pub mod day03;
pub mod day04;
pub mod day05;
pub mod day06;
pub mod day07;
pub mod day08;
pub mod day09;
pub mod day10;
pub use crate::day01::Day01;
pub use crate::day02::Day02;
pub use crate::day03::Day03;
pub use crate::day04::Day04;
pub use crate::day05::Day05;
pub use crate::day06::Day06;
pub use crate::day07::Day07;
pub use crate::day08::Day08;
pub use crate::day09::Day09;
pub use crate::day10::Day10;
pub use crate::day11::Day11;
pub use crate::day12::Day12;
pub use crate::day13::Day13;
pub use crate::day14::Day14;
pub use crate::day15::Day15;
pub use crate::day16::Day16;
pub use crate::day17::Day17;
pub use crate::day18::Day18;
pub use crate::day19::Day19;
pub use crate::day20::Day20;
pub use crate::day21::Day21;
pub use crate::day22::Day22;
pub use crate::day23::Day23;
pub use crate::day24::Day24;
pub use crate::day25::Day25;
pub mod day11;
pub fn solution(input: &str, day: usize, part: usize) -> Option<Answer> {
match part {
1 => match day {
1 => Some(Day01.part_1(input)),
2 => Some(Day02.part_1(input)),
3 => Some(Day03.part_1(input)),
4 => Some(Day04.part_1(input)),
5 => Some(Day05.part_1(input)),
6 => Some(Day06.part_1(input)),
7 => Some(Day07.part_1(input)),
8 => Some(Day08.part_1(input)),
9 => Some(Day09.part_1(input)),
10 => Some(Day10.part_1(input)),
11 => Some(Day11.part_1(input)),
12 => Some(Day12.part_1(input)),
13 => Some(Day13.part_1(input)),
14 => Some(Day14.part_1(input)),
15 => Some(Day15.part_1(input)),
16 => Some(Day16.part_1(input)),
17 => Some(Day17.part_1(input)),
18 => Some(Day18.part_1(input)),
19 => Some(Day19.part_1(input)),
20 => Some(Day20.part_1(input)),
21 => Some(Day21.part_1(input)),
22 => Some(Day22.part_1(input)),
23 => Some(Day23.part_1(input)),
24 => Some(Day24.part_1(input)),
25 => Some(Day25.part_1(input)),
_ => None
},
2 => match day {
1 => Some(Day01.part_2(input)),
2 => Some(Day02.part_2(input)),
3 => Some(Day03.part_2(input)),
4 => Some(Day04.part_2(input)),
5 => Some(Day05.part_2(input)),
6 => Some(Day06.part_2(input)),
7 => Some(Day07.part_2(input)),
8 => Some(Day08.part_2(input)),
9 => Some(Day09.part_2(input)),
10 => Some(Day10.part_2(input)),
11 => Some(Day11.part_2(input)),
12 => Some(Day12.part_2(input)),
13 => Some(Day13.part_2(input)),
14 => Some(Day14.part_2(input)),
15 => Some(Day15.part_2(input)),
16 => Some(Day16.part_2(input)),
17 => Some(Day17.part_2(input)),
18 => Some(Day18.part_2(input)),
19 => Some(Day19.part_2(input)),
20 => Some(Day20.part_2(input)),
21 => Some(Day21.part_2(input)),
22 => Some(Day22.part_2(input)),
23 => Some(Day23.part_2(input)),
24 => Some(Day24.part_2(input)),
25 => Some(Day25.part_2(input)),
_ => None
},
_ => None
}
}
pub mod day12;
pub mod day13;
pub mod day14;
pub mod day15;
pub mod day16;
pub mod day17;
pub mod day18;
pub mod day19;
pub mod day20;
pub mod day21;
pub mod day22;
pub mod day23;
pub mod day24;
pub mod day25;
mod day01;
mod day02;
mod day03;
mod day04;
mod day05;
mod day06;
mod day07;
mod day08;
mod day09;
mod day10;
mod day11;
mod day12;
mod day13;
mod day14;
mod day15;
mod day16;
mod day17;
mod day18;
mod day19;
mod day20;
mod day21;
mod day22;
mod day23;
mod day24;
mod day25;
#[test]
fn examples() {