1#![cfg_attr(feature = "simd", allow(unstable_features), feature(portable_simd))]
10
11#[macro_export]
14macro_rules! solutions {
15 ($callback:ident) => {
16 $callback! {
17 year2015 "Help Santa by solving puzzles to fix the weather machine's snow function."
18 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
19 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25,
20
21 year2016 "Defeat the Easter Bunny to save Christmas."
22 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
23 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25,
24
25 year2017 "A technical support callout from the Elves escalates rapidly."
26 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
27 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25,
28
29 year2018 "Travel through time to restore the festive timeline."
30 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
31 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25,
32
33 year2019 "Rescue Santa from deep space with a solar system voyage."
34 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
35 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25,
36
37 year2020 "What could go wrong trying to enjoy a well-deserved vacation?"
38 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
39 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25,
40
41 year2021 "Retrieve the keys to Santa's sleigh with an underwater submarine adventure."
42 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
43 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25,
44
45 year2022 "Assist the Elves on their annual jungle expedition."
46 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
47 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25,
48
49 year2023 "Restore global snow production with an island hopping odyssey."
50 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
51 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25,
52
53 year2024 "Locate the Chief Historian in time for the big Christmas sleigh launch."
54 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
55 day13 day14 day15 day16 day17 day18 day19 day20 day21 day22 day23 day24 day25,
56
57 year2025 "Finish the North Pole decorations in time for Christmas."
58 day01 day02 day03 day04 day05 day06 day07 day08 day09 day10 day11 day12
59 }
60 };
61}
62
63#[macro_export]
71macro_rules! library {
72 ($($year:ident $description:literal $($day:ident)*),*) => {
73 $(pub mod $year {
74 #![doc = concat!("# ", $description)]
75 $(pub mod $day;)*
76 })*
77 }
78}
79
80library!(util "Utility modules to handle common recurring Advent of Code patterns."
81 ansi bitset grid hash heap intcode integer iter math md5 parse point thread
82);
83
84solutions!(library);