From 9eaca333ccb7fc91ee0b1dc3d1c68d91217dc45f Mon Sep 17 00:00:00 2001 From: Ben C Date: Mon, 1 Dec 2025 08:59:15 -0500 Subject: [PATCH] Start Year 2025, done day 1 --- Cargo.lock | 10 ++++ Cargo.toml | 1 + advent_core/src/bootstrap.rs | 2 +- advent_core/src/lib.rs | 2 +- advent_core/src/parser.rs | 2 +- advent_core/src/year.rs | 2 +- justfile | 16 +++---- macros/src/lib.rs | 48 +++++++++---------- src/main.rs | 2 +- years/2025/Cargo.toml | 10 ++++ years/2025/src/day_1.rs | 70 ++++++++++++++++++++++++++++ years/2025/src/day_10.rs | 17 +++++++ years/2025/src/day_11.rs | 17 +++++++ years/2025/src/day_12.rs | 17 +++++++ years/2025/src/day_2.rs | 17 +++++++ years/2025/src/day_3.rs | 17 +++++++ years/2025/src/day_4.rs | 17 +++++++ years/2025/src/day_5.rs | 17 +++++++ years/2025/src/day_6.rs | 17 +++++++ years/2025/src/day_7.rs | 17 +++++++ years/2025/src/day_8.rs | 17 +++++++ years/2025/src/day_9.rs | 17 +++++++ years/2025/src/examples/day_1/1.txt | 10 ++++ years/2025/src/examples/day_1/2.txt | 10 ++++ years/2025/src/examples/day_10/1.txt | 0 years/2025/src/examples/day_10/2.txt | 0 years/2025/src/examples/day_11/1.txt | 0 years/2025/src/examples/day_11/2.txt | 0 years/2025/src/examples/day_12/1.txt | 0 years/2025/src/examples/day_12/2.txt | 0 years/2025/src/examples/day_13/1.txt | 0 years/2025/src/examples/day_13/2.txt | 0 years/2025/src/examples/day_14/1.txt | 0 years/2025/src/examples/day_14/2.txt | 0 years/2025/src/examples/day_15/1.txt | 0 years/2025/src/examples/day_15/2.txt | 0 years/2025/src/examples/day_16/1.txt | 0 years/2025/src/examples/day_16/2.txt | 0 years/2025/src/examples/day_17/1.txt | 0 years/2025/src/examples/day_17/2.txt | 0 years/2025/src/examples/day_18/1.txt | 0 years/2025/src/examples/day_18/2.txt | 0 years/2025/src/examples/day_19/1.txt | 0 years/2025/src/examples/day_19/2.txt | 0 years/2025/src/examples/day_2/1.txt | 0 years/2025/src/examples/day_2/2.txt | 0 years/2025/src/examples/day_20/1.txt | 0 years/2025/src/examples/day_20/2.txt | 0 years/2025/src/examples/day_21/1.txt | 0 years/2025/src/examples/day_21/2.txt | 0 years/2025/src/examples/day_22/1.txt | 0 years/2025/src/examples/day_22/2.txt | 0 years/2025/src/examples/day_23/1.txt | 0 years/2025/src/examples/day_23/2.txt | 0 years/2025/src/examples/day_24/1.txt | 0 years/2025/src/examples/day_24/2.txt | 0 years/2025/src/examples/day_25/1.txt | 0 years/2025/src/examples/day_25/2.txt | 0 years/2025/src/examples/day_3/1.txt | 0 years/2025/src/examples/day_3/2.txt | 0 years/2025/src/examples/day_4/1.txt | 0 years/2025/src/examples/day_4/2.txt | 0 years/2025/src/examples/day_5/1.txt | 0 years/2025/src/examples/day_5/2.txt | 0 years/2025/src/examples/day_6/1.txt | 0 years/2025/src/examples/day_6/2.txt | 0 years/2025/src/examples/day_7/1.txt | 0 years/2025/src/examples/day_7/2.txt | 0 years/2025/src/examples/day_8/1.txt | 0 years/2025/src/examples/day_8/2.txt | 0 years/2025/src/examples/day_9/1.txt | 0 years/2025/src/examples/day_9/2.txt | 0 years/2025/src/lib.rs | 3 ++ years/2025/src/main.rs | 3 ++ 74 files changed, 341 insertions(+), 37 deletions(-) create mode 100644 years/2025/Cargo.toml create mode 100644 years/2025/src/day_1.rs create mode 100644 years/2025/src/day_10.rs create mode 100644 years/2025/src/day_11.rs create mode 100644 years/2025/src/day_12.rs create mode 100644 years/2025/src/day_2.rs create mode 100644 years/2025/src/day_3.rs create mode 100644 years/2025/src/day_4.rs create mode 100644 years/2025/src/day_5.rs create mode 100644 years/2025/src/day_6.rs create mode 100644 years/2025/src/day_7.rs create mode 100644 years/2025/src/day_8.rs create mode 100644 years/2025/src/day_9.rs create mode 100644 years/2025/src/examples/day_1/1.txt create mode 100644 years/2025/src/examples/day_1/2.txt create mode 100644 years/2025/src/examples/day_10/1.txt create mode 100644 years/2025/src/examples/day_10/2.txt create mode 100644 years/2025/src/examples/day_11/1.txt create mode 100644 years/2025/src/examples/day_11/2.txt create mode 100644 years/2025/src/examples/day_12/1.txt create mode 100644 years/2025/src/examples/day_12/2.txt create mode 100644 years/2025/src/examples/day_13/1.txt create mode 100644 years/2025/src/examples/day_13/2.txt create mode 100644 years/2025/src/examples/day_14/1.txt create mode 100644 years/2025/src/examples/day_14/2.txt create mode 100644 years/2025/src/examples/day_15/1.txt create mode 100644 years/2025/src/examples/day_15/2.txt create mode 100644 years/2025/src/examples/day_16/1.txt create mode 100644 years/2025/src/examples/day_16/2.txt create mode 100644 years/2025/src/examples/day_17/1.txt create mode 100644 years/2025/src/examples/day_17/2.txt create mode 100644 years/2025/src/examples/day_18/1.txt create mode 100644 years/2025/src/examples/day_18/2.txt create mode 100644 years/2025/src/examples/day_19/1.txt create mode 100644 years/2025/src/examples/day_19/2.txt create mode 100644 years/2025/src/examples/day_2/1.txt create mode 100644 years/2025/src/examples/day_2/2.txt create mode 100644 years/2025/src/examples/day_20/1.txt create mode 100644 years/2025/src/examples/day_20/2.txt create mode 100644 years/2025/src/examples/day_21/1.txt create mode 100644 years/2025/src/examples/day_21/2.txt create mode 100644 years/2025/src/examples/day_22/1.txt create mode 100644 years/2025/src/examples/day_22/2.txt create mode 100644 years/2025/src/examples/day_23/1.txt create mode 100644 years/2025/src/examples/day_23/2.txt create mode 100644 years/2025/src/examples/day_24/1.txt create mode 100644 years/2025/src/examples/day_24/2.txt create mode 100644 years/2025/src/examples/day_25/1.txt create mode 100644 years/2025/src/examples/day_25/2.txt create mode 100644 years/2025/src/examples/day_3/1.txt create mode 100644 years/2025/src/examples/day_3/2.txt create mode 100644 years/2025/src/examples/day_4/1.txt create mode 100644 years/2025/src/examples/day_4/2.txt create mode 100644 years/2025/src/examples/day_5/1.txt create mode 100644 years/2025/src/examples/day_5/2.txt create mode 100644 years/2025/src/examples/day_6/1.txt create mode 100644 years/2025/src/examples/day_6/2.txt create mode 100644 years/2025/src/examples/day_7/1.txt create mode 100644 years/2025/src/examples/day_7/2.txt create mode 100644 years/2025/src/examples/day_8/1.txt create mode 100644 years/2025/src/examples/day_8/2.txt create mode 100644 years/2025/src/examples/day_9/1.txt create mode 100644 years/2025/src/examples/day_9/2.txt create mode 100644 years/2025/src/lib.rs create mode 100644 years/2025/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index 3798f75..d801ed1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9,6 +9,7 @@ dependencies = [ "advent_core", "macros", "y_2024", + "y_2025", ] [[package]] @@ -330,3 +331,12 @@ dependencies = [ "regex", "utils", ] + +[[package]] +name = "y_2025" +version = "0.1.0" +dependencies = [ + "advent_core", + "macros", + "utils", +] diff --git a/Cargo.toml b/Cargo.toml index 21ad52a..4371e9b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,6 +15,7 @@ members = [ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +y_2025 = { path = "years/2025" } y_2024 = { path = "years/2024" } advent_core = { path = "advent_core" } macros = { path = "macros" } diff --git a/advent_core/src/bootstrap.rs b/advent_core/src/bootstrap.rs index 935db43..fe1dfc9 100644 --- a/advent_core/src/bootstrap.rs +++ b/advent_core/src/bootstrap.rs @@ -39,7 +39,7 @@ const CARGO_TEMPLATE: &str = " [package] name = \"y_{year}\" version = \"0.1.0\" -edition = \"2021\" +edition = \"2024\" [dependencies] advent_core = { path = \"../../advent_core\" } diff --git a/advent_core/src/lib.rs b/advent_core/src/lib.rs index 8733a7d..33fd4d7 100644 --- a/advent_core/src/lib.rs +++ b/advent_core/src/lib.rs @@ -7,5 +7,5 @@ pub const MAX_DAY: usize = 25; pub use bootstrap::make_year; pub use day::Day; -pub use parser::{get_dp_and_input, get_ydp_and_input, Selection, DP, YDP}; +pub use parser::{DP, Selection, YDP, get_dp_and_input, get_ydp_and_input}; pub use year::Year; diff --git a/advent_core/src/parser.rs b/advent_core/src/parser.rs index 940dd34..3090299 100644 --- a/advent_core/src/parser.rs +++ b/advent_core/src/parser.rs @@ -1,6 +1,6 @@ use std::env::args; use std::fs; -use std::io::{stdin, Read}; +use std::io::{Read, stdin}; #[derive(Clone, Debug)] pub enum Selection { diff --git a/advent_core/src/year.rs b/advent_core/src/year.rs index 54b4afc..633954d 100644 --- a/advent_core/src/year.rs +++ b/advent_core/src/year.rs @@ -1,4 +1,4 @@ -use crate::parser::{Selection, DP}; +use crate::parser::{DP, Selection}; use super::MAX_DAY; diff --git a/justfile b/justfile index 22faf10..7584f39 100644 --- a/justfile +++ b/justfile @@ -6,16 +6,16 @@ year := `date +%Y` day := `nu -c 'date now | format date "%_d" | str trim'` # Run a specific part of today's problem -p P in="": - cargo run --release -- solve {{year}}:{{day}}:{{P}} {{in}} +p P in="" ARGS="": + cargo run {{ARGS}} -- solve {{year}}:{{day}}:{{P}} {{in}} # Run a specific day and part of this year -dp DP in="": - cargo run --release -- solve {{year}}:{{DP}} {{in}} +dp DP in="" ARGS="": + cargo run {{ARGS}} -- solve {{year}}:{{DP}} {{in}} # Run a specific year's day's part -dyp DYP in="": - cargo run --release -- solve {{DYP}} {{in}} +dyp DYP in="" ARGS="": + cargo run {{ARGS}} -- solve {{DYP}} {{in}} # Create a new year crate prep: @@ -29,6 +29,6 @@ test: test-all: cargo test -p y_{{year}} --release -# Open VSCodium to today's file +# Open Editor to today's file start: - codium . --goto years/{{year}}/src/day_{{day}}.rs + nvim years/{{year}}/src/day_{{day}}.rs diff --git a/macros/src/lib.rs b/macros/src/lib.rs index 3c10113..c7afc34 100644 --- a/macros/src/lib.rs +++ b/macros/src/lib.rs @@ -1,32 +1,30 @@ extern crate proc_macro; -use advent_core::MAX_DAY; - use proc_macro::TokenStream; -fn make_day_mods() -> String { - (1..=MAX_DAY) +fn make_day_mods(days: usize) -> String { + (1..=days) .map(|day| format!("pub mod day_{day};", day = day)) .collect::>() .join("\n") } -fn make_use_days() -> String { - (1..=MAX_DAY) +fn make_use_days(days: usize) -> String { + (1..=days) .map(|day| format!("use day_{day}::Day{day};", day = day)) .collect::>() .join("\n") } -fn make_day_match(inner: &str) -> String { - (1..=MAX_DAY) +fn make_day_match(inner: &str, days: usize) -> String { + (1..=days) .map(|day| format!("{day} => {},", inner.replace("{day}", &day.to_string()))) .collect::>() .join("\n") } -fn make_day_tests() -> String { - (1..=MAX_DAY) +fn make_day_tests(days: usize) -> String { + (1..=days) .map(|day| { format!( " @@ -45,9 +43,9 @@ fn make_day_tests() -> String { .join("\n") } -fn get_solve_day() -> String { - let inner = make_day_match("Day{day}::run_part(part, input)"); - let inner2 = make_day_match("{Day{day}::bench_part(part, input);}"); +fn get_solve_day(days: usize) -> String { + let inner = make_day_match("Day{day}::run_part(part, input)", days); + let inner2 = make_day_match("{Day{day}::bench_part(part, input);}", days); format!( " fn solve_day(day: usize, part: usize, input: Option<&str>) -> Option {{ @@ -65,8 +63,8 @@ fn get_solve_day() -> String { ) } -fn get_solve_day_both_parts() -> String { - let inner = make_day_match("Day{day}::run_all_parts(extra_indent)"); +fn get_solve_day_both_parts(days: usize) -> String { + let inner = make_day_match("Day{day}::run_all_parts(extra_indent)", days); format!( " fn solve_day_both_parts(day: usize, extra_indent: &str) {{ @@ -79,7 +77,7 @@ fn get_solve_day_both_parts() -> String { ) } -fn make_year_struct(year: &str) -> String { +fn make_year_struct(year: &str, days: usize) -> String { format!( " pub struct Year{year}; @@ -91,12 +89,12 @@ fn make_year_struct(year: &str) -> String { {solve_day_both_parts} }}", - solve_day = get_solve_day(), - solve_day_both_parts = get_solve_day_both_parts() + solve_day = get_solve_day(days), + solve_day_both_parts = get_solve_day_both_parts(days) ) } -fn make_tests() -> String { +fn make_tests(days: usize) -> String { format!( " #[cfg(test)] @@ -106,7 +104,7 @@ fn make_tests() -> String { {day_tests} }}", - day_tests = make_day_tests() + day_tests = make_day_tests(days) ) } @@ -114,12 +112,14 @@ fn make_tests() -> String { pub fn year(item: TokenStream) -> TokenStream { let year = item.to_string(); - let mods = make_day_mods(); - let uses = make_use_days(); + let days = if year == "2024" { 25 } else { 12 }; + + let mods = make_day_mods(days); + let uses = make_use_days(days); - let year_struct = make_year_struct(&year); + let year_struct = make_year_struct(&year, days); - let tests = make_tests(); + let tests = make_tests(days); format!( " diff --git a/src/main.rs b/src/main.rs index 35d0649..eb9cfb1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ use advent_core::{get_ydp_and_input, make_year, Selection, Year, DP, YDP}; use macros::global_runner; -global_runner!(2024); +global_runner!(2024, 2025); fn run_ydp(ydp: YDP, input: Option) { let dp = ydp.to_dp(); diff --git a/years/2025/Cargo.toml b/years/2025/Cargo.toml new file mode 100644 index 0000000..6fb50c4 --- /dev/null +++ b/years/2025/Cargo.toml @@ -0,0 +1,10 @@ + +[package] +name = "y_2025" +version = "0.1.0" +edition = "2024" + +[dependencies] +advent_core = { path = "../../advent_core" } +macros = { path = "../../macros" } +utils = { path = "../../utils" } diff --git a/years/2025/src/day_1.rs b/years/2025/src/day_1.rs new file mode 100644 index 0000000..f980938 --- /dev/null +++ b/years/2025/src/day_1.rs @@ -0,0 +1,70 @@ +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day1; + +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum Dir { + Left, + Right, +} + +#[derive(Clone, Debug)] +pub struct Rot { + dir: Dir, + amnt: isize, +} + +impl Day for Day1 { + fn part_1(input: Self::Input) -> Option { + let mut curr = 50; + let mut at_0 = 0; + for rot in input { + let amnt = if rot.dir == Dir::Left { + -rot.amnt + } else { + rot.amnt + }; + curr = (curr + amnt).rem_euclid(100); + if curr == 0 { + at_0 += 1; + } + } + + Some(at_0.to_string()) + } + + fn part_2(input: Self::Input) -> Option { + let mut curr = 50; + let mut at_0 = 0; + for rot in input { + let amnt = if rot.dir == Dir::Left { + -rot.amnt + } else { + rot.amnt + }; + at_0 += if rot.dir == Dir::Right { + (curr + rot.amnt) / 100 + } else { + (if curr == 0 { 0 } else { 100 - curr } + rot.amnt) / 100 + }; + curr = (curr + amnt).rem_euclid(100); + } + + Some(at_0.to_string()) + } + + day_stuff!(1, "3", "6", Vec); + + fn parse_input(input: &str) -> Self::Input { + input + .lines() + .map(|l| { + let (dir, amnt) = l.split_at(1); + Rot { + dir: if dir == "L" { Dir::Left } else { Dir::Right }, + amnt: amnt.parse().unwrap(), + } + }) + .collect() + } +} diff --git a/years/2025/src/day_10.rs b/years/2025/src/day_10.rs new file mode 100644 index 0000000..4ebac25 --- /dev/null +++ b/years/2025/src/day_10.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day10; + +impl Day for Day10 { + + day_stuff!(10, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/day_11.rs b/years/2025/src/day_11.rs new file mode 100644 index 0000000..95063da --- /dev/null +++ b/years/2025/src/day_11.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day11; + +impl Day for Day11 { + + day_stuff!(11, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/day_12.rs b/years/2025/src/day_12.rs new file mode 100644 index 0000000..9c1d59f --- /dev/null +++ b/years/2025/src/day_12.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day12; + +impl Day for Day12 { + + day_stuff!(12, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/day_2.rs b/years/2025/src/day_2.rs new file mode 100644 index 0000000..00430bc --- /dev/null +++ b/years/2025/src/day_2.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day2; + +impl Day for Day2 { + + day_stuff!(2, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/day_3.rs b/years/2025/src/day_3.rs new file mode 100644 index 0000000..8ae384b --- /dev/null +++ b/years/2025/src/day_3.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day3; + +impl Day for Day3 { + + day_stuff!(3, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/day_4.rs b/years/2025/src/day_4.rs new file mode 100644 index 0000000..3ccf960 --- /dev/null +++ b/years/2025/src/day_4.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day4; + +impl Day for Day4 { + + day_stuff!(4, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/day_5.rs b/years/2025/src/day_5.rs new file mode 100644 index 0000000..a87ca56 --- /dev/null +++ b/years/2025/src/day_5.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day5; + +impl Day for Day5 { + + day_stuff!(5, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/day_6.rs b/years/2025/src/day_6.rs new file mode 100644 index 0000000..d49f739 --- /dev/null +++ b/years/2025/src/day_6.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day6; + +impl Day for Day6 { + + day_stuff!(6, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/day_7.rs b/years/2025/src/day_7.rs new file mode 100644 index 0000000..f799be8 --- /dev/null +++ b/years/2025/src/day_7.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day7; + +impl Day for Day7 { + + day_stuff!(7, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/day_8.rs b/years/2025/src/day_8.rs new file mode 100644 index 0000000..daae1dc --- /dev/null +++ b/years/2025/src/day_8.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day8; + +impl Day for Day8 { + + day_stuff!(8, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/day_9.rs b/years/2025/src/day_9.rs new file mode 100644 index 0000000..f55318f --- /dev/null +++ b/years/2025/src/day_9.rs @@ -0,0 +1,17 @@ + +use advent_core::{Day, day_stuff, ex_for_day}; + +pub struct Day9; + +impl Day for Day9 { + + day_stuff!(9, "", ""); + + fn part_1(_input: Self::Input) -> Option { + None + } + + fn part_2(_input: Self::Input) -> Option { + None + } +} diff --git a/years/2025/src/examples/day_1/1.txt b/years/2025/src/examples/day_1/1.txt new file mode 100644 index 0000000..53287c7 --- /dev/null +++ b/years/2025/src/examples/day_1/1.txt @@ -0,0 +1,10 @@ +L68 +L30 +R48 +L5 +R60 +L55 +L1 +L99 +R14 +L82 diff --git a/years/2025/src/examples/day_1/2.txt b/years/2025/src/examples/day_1/2.txt new file mode 100644 index 0000000..53287c7 --- /dev/null +++ b/years/2025/src/examples/day_1/2.txt @@ -0,0 +1,10 @@ +L68 +L30 +R48 +L5 +R60 +L55 +L1 +L99 +R14 +L82 diff --git a/years/2025/src/examples/day_10/1.txt b/years/2025/src/examples/day_10/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_10/2.txt b/years/2025/src/examples/day_10/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_11/1.txt b/years/2025/src/examples/day_11/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_11/2.txt b/years/2025/src/examples/day_11/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_12/1.txt b/years/2025/src/examples/day_12/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_12/2.txt b/years/2025/src/examples/day_12/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_13/1.txt b/years/2025/src/examples/day_13/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_13/2.txt b/years/2025/src/examples/day_13/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_14/1.txt b/years/2025/src/examples/day_14/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_14/2.txt b/years/2025/src/examples/day_14/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_15/1.txt b/years/2025/src/examples/day_15/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_15/2.txt b/years/2025/src/examples/day_15/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_16/1.txt b/years/2025/src/examples/day_16/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_16/2.txt b/years/2025/src/examples/day_16/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_17/1.txt b/years/2025/src/examples/day_17/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_17/2.txt b/years/2025/src/examples/day_17/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_18/1.txt b/years/2025/src/examples/day_18/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_18/2.txt b/years/2025/src/examples/day_18/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_19/1.txt b/years/2025/src/examples/day_19/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_19/2.txt b/years/2025/src/examples/day_19/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_2/1.txt b/years/2025/src/examples/day_2/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_2/2.txt b/years/2025/src/examples/day_2/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_20/1.txt b/years/2025/src/examples/day_20/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_20/2.txt b/years/2025/src/examples/day_20/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_21/1.txt b/years/2025/src/examples/day_21/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_21/2.txt b/years/2025/src/examples/day_21/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_22/1.txt b/years/2025/src/examples/day_22/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_22/2.txt b/years/2025/src/examples/day_22/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_23/1.txt b/years/2025/src/examples/day_23/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_23/2.txt b/years/2025/src/examples/day_23/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_24/1.txt b/years/2025/src/examples/day_24/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_24/2.txt b/years/2025/src/examples/day_24/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_25/1.txt b/years/2025/src/examples/day_25/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_25/2.txt b/years/2025/src/examples/day_25/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_3/1.txt b/years/2025/src/examples/day_3/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_3/2.txt b/years/2025/src/examples/day_3/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_4/1.txt b/years/2025/src/examples/day_4/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_4/2.txt b/years/2025/src/examples/day_4/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_5/1.txt b/years/2025/src/examples/day_5/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_5/2.txt b/years/2025/src/examples/day_5/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_6/1.txt b/years/2025/src/examples/day_6/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_6/2.txt b/years/2025/src/examples/day_6/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_7/1.txt b/years/2025/src/examples/day_7/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_7/2.txt b/years/2025/src/examples/day_7/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_8/1.txt b/years/2025/src/examples/day_8/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_8/2.txt b/years/2025/src/examples/day_8/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_9/1.txt b/years/2025/src/examples/day_9/1.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/examples/day_9/2.txt b/years/2025/src/examples/day_9/2.txt new file mode 100644 index 0000000..e69de29 diff --git a/years/2025/src/lib.rs b/years/2025/src/lib.rs new file mode 100644 index 0000000..e7d8e8f --- /dev/null +++ b/years/2025/src/lib.rs @@ -0,0 +1,3 @@ +use macros::year; + +year!(2025); diff --git a/years/2025/src/main.rs b/years/2025/src/main.rs new file mode 100644 index 0000000..2fad6b1 --- /dev/null +++ b/years/2025/src/main.rs @@ -0,0 +1,3 @@ +use macros::year_runner; + +year_runner!(2025); -- 2.51.2