From f64a345badce31e64f6153fecdab5d72760d2f85 Mon Sep 17 00:00:00 2001 From: Jaakko Husso Date: Fri, 27 Dec 2024 21:11:24 +0200 Subject: [PATCH] Bit of refactoring, fixing clippy warnings --- aoc-solver/src/solution.rs | 8 ++--- aoc-solver/src/y2020/day01.rs | 4 +-- aoc-solver/src/y2020/day02.rs | 4 +-- aoc-solver/src/y2020/day03.rs | 4 +-- aoc-solver/src/y2020/day04.rs | 4 +-- aoc-solver/src/y2020/day05.rs | 4 +-- aoc-solver/src/y2020/day06.rs | 4 +-- aoc-solver/src/y2020/day07.rs | 4 +-- aoc-solver/src/y2020/day08.rs | 4 +-- aoc-solver/src/y2020/day09.rs | 4 +-- aoc-solver/src/y2020/day10.rs | 4 +-- aoc-solver/src/y2020/day11.rs | 4 +-- aoc-solver/src/y2020/day12.rs | 4 +-- aoc-solver/src/y2020/day13.rs | 4 +-- aoc-solver/src/y2020/day14.rs | 4 +-- aoc-solver/src/y2020/day15.rs | 4 +-- aoc-solver/src/y2020/day16.rs | 4 +-- aoc-solver/src/y2020/day17.rs | 4 +-- aoc-solver/src/y2020/day18.rs | 4 +-- aoc-solver/src/y2020/day19.rs | 4 +-- aoc-solver/src/y2020/day20.rs | 6 ++-- aoc-solver/src/y2020/day21.rs | 4 +-- aoc-solver/src/y2020/day22.rs | 4 +-- aoc-solver/src/y2020/day23.rs | 4 +-- aoc-solver/src/y2020/day24.rs | 4 +-- aoc-solver/src/y2020/day25.rs | 4 +-- aoc-solver/src/y2021/day01.rs | 4 +-- aoc-solver/src/y2021/day02.rs | 4 +-- aoc-solver/src/y2021/day03.rs | 4 +-- aoc-solver/src/y2021/day04.rs | 4 +-- aoc-solver/src/y2021/day05.rs | 4 +-- aoc-solver/src/y2021/day06.rs | 4 +-- aoc-solver/src/y2021/day07.rs | 4 +-- aoc-solver/src/y2021/day08.rs | 4 +-- aoc-solver/src/y2021/day09.rs | 4 +-- aoc-solver/src/y2021/day10.rs | 4 +-- aoc-solver/src/y2021/day11.rs | 4 +-- aoc-solver/src/y2021/day12.rs | 4 +-- aoc-solver/src/y2021/day13.rs | 4 +-- aoc-solver/src/y2021/day14.rs | 4 +-- aoc-solver/src/y2021/day15.rs | 4 +-- aoc-solver/src/y2021/day16.rs | 10 +++--- aoc-solver/src/y2021/day17.rs | 4 +-- aoc-solver/src/y2021/day18.rs | 4 +-- aoc-solver/src/y2021/day21.rs | 4 +-- aoc-solver/src/y2021/day22.rs | 4 +-- aoc-solver/src/y2022/day01.rs | 4 +-- aoc-solver/src/y2022/day02.rs | 4 +-- aoc-solver/src/y2022/day03.rs | 4 +-- aoc-solver/src/y2022/day04.rs | 4 +-- aoc-solver/src/y2022/day05.rs | 4 +-- aoc-solver/src/y2022/day06.rs | 4 +-- aoc-solver/src/y2022/day07.rs | 4 +-- aoc-solver/src/y2022/day08.rs | 4 +-- aoc-solver/src/y2022/day09.rs | 4 +-- aoc-solver/src/y2022/day10.rs | 4 +-- aoc-solver/src/y2022/day11.rs | 4 +-- aoc-solver/src/y2022/day12.rs | 4 +-- aoc-solver/src/y2022/day13.rs | 4 +-- aoc-solver/src/y2022/day14.rs | 4 +-- aoc-solver/src/y2022/day15.rs | 4 +-- aoc-solver/src/y2022/day16.rs | 8 ++--- aoc-solver/src/y2022/day17.rs | 4 +-- aoc-solver/src/y2022/day18.rs | 4 +-- aoc-solver/src/y2022/day19.rs | 6 ++-- aoc-solver/src/y2022/day20.rs | 4 +-- aoc-solver/src/y2022/day21.rs | 4 +-- aoc-solver/src/y2022/day22.rs | 6 ++-- aoc-solver/src/y2022/day23.rs | 4 +-- aoc-solver/src/y2022/day24.rs | 4 +-- aoc-solver/src/y2022/day25.rs | 4 +-- aoc-solver/src/y2023/day01.rs | 4 +-- aoc-solver/src/y2023/day02.rs | 4 +-- aoc-solver/src/y2023/day03.rs | 4 +-- aoc-solver/src/y2023/day04.rs | 4 +-- aoc-solver/src/y2023/day05.rs | 4 +-- aoc-solver/src/y2023/day06.rs | 4 +-- aoc-solver/src/y2023/day07.rs | 4 +-- aoc-solver/src/y2023/day08.rs | 4 +-- aoc-solver/src/y2023/day09.rs | 4 +-- aoc-solver/src/y2023/day10.rs | 4 +-- aoc-solver/src/y2023/day11.rs | 65 ++++++++++++++++++++++------------- aoc-solver/src/y2023/day12.rs | 4 +-- aoc-solver/src/y2023/day13.rs | 4 +-- aoc-solver/src/y2023/day14.rs | 8 ++--- aoc-solver/src/y2023/day15.rs | 4 +-- aoc-solver/src/y2023/day16.rs | 4 +-- aoc-solver/src/y2023/day17.rs | 4 +-- aoc-solver/src/y2023/day18.rs | 4 +-- aoc-solver/src/y2023/day19.rs | 10 +++--- aoc-solver/src/y2023/day20.rs | 4 +-- aoc-solver/src/y2023/day21.rs | 4 +-- aoc-solver/src/y2023/day22.rs | 4 +-- aoc-solver/src/y2023/day23.rs | 4 +-- aoc-solver/src/y2023/day24.rs | 4 +-- aoc-solver/src/y2023/day25.rs | 4 +-- aoc-solver/src/y2024/day01.rs | 4 +-- aoc-solver/src/y2024/day02.rs | 4 +-- aoc-solver/src/y2024/day03.rs | 4 +-- aoc-solver/src/y2024/day04.rs | 4 +-- aoc-solver/src/y2024/day05.rs | 4 +-- aoc-solver/src/y2024/day06.rs | 4 +-- aoc-solver/src/y2024/day07.rs | 4 +-- aoc-solver/src/y2024/day08.rs | 4 +-- aoc-solver/src/y2024/day09.rs | 4 +-- aoc-solver/src/y2024/day10.rs | 4 +-- aoc-solver/src/y2024/day11.rs | 4 +-- aoc-solver/src/y2024/day12.rs | 4 +-- aoc-solver/src/y2024/day13.rs | 4 +-- aoc-solver/src/y2024/day14.rs | 4 +-- aoc-solver/src/y2024/day15.rs | 4 +-- aoc-solver/src/y2024/day16.rs | 4 +-- aoc-solver/src/y2024/day17.rs | 4 +-- aoc-solver/src/y2024/day18.rs | 4 +-- aoc-solver/src/y2024/day19.rs | 4 +-- aoc-solver/src/y2024/day20.rs | 4 +-- aoc-solver/src/y2024/day21.rs | 4 +-- aoc-solver/src/y2024/day22.rs | 4 +-- aoc-solver/src/y2024/day23.rs | 4 +-- aoc-solver/src/y2024/day24.rs | 4 +-- aoc-solver/src/y2024/day25.rs | 4 +-- 121 files changed, 296 insertions(+), 279 deletions(-) diff --git a/aoc-solver/src/solution.rs b/aoc-solver/src/solution.rs index b327c75..0b2e9aa 100644 --- a/aoc-solver/src/solution.rs +++ b/aoc-solver/src/solution.rs @@ -32,13 +32,13 @@ impl std::fmt::Display for AocError { } pub trait Solution { - type A: fmt::Display; - type B: fmt::Display; + type Part1: fmt::Display; + type Part2: fmt::Display; fn default_input(&self) -> &'static str; - fn part_1(&self, input: &str) -> Result; - fn part_2(&self, input: &str) -> Result; + fn part_1(&self, input: &str) -> Result; + fn part_2(&self, input: &str) -> Result; fn run(&self, input: Option, day: u32, year: u32) -> Vec { let input = input.unwrap_or_else(|| self.default_input().to_owned()); diff --git a/aoc-solver/src/y2020/day01.rs b/aoc-solver/src/y2020/day01.rs index f908d60..56ee21c 100644 --- a/aoc-solver/src/y2020/day01.rs +++ b/aoc-solver/src/y2020/day01.rs @@ -3,8 +3,8 @@ use crate::solution::{AocError, Solution}; pub struct Day01; impl Solution for Day01 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day01.txt") diff --git a/aoc-solver/src/y2020/day02.rs b/aoc-solver/src/y2020/day02.rs index ae9062f..3c480ac 100644 --- a/aoc-solver/src/y2020/day02.rs +++ b/aoc-solver/src/y2020/day02.rs @@ -45,8 +45,8 @@ fn parse_input(input: &str) -> Vec { } impl Solution for Day02 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day02.txt") diff --git a/aoc-solver/src/y2020/day03.rs b/aoc-solver/src/y2020/day03.rs index cfab28d..5d38a71 100644 --- a/aoc-solver/src/y2020/day03.rs +++ b/aoc-solver/src/y2020/day03.rs @@ -44,8 +44,8 @@ fn parse(input: &str) -> (HashSet<(usize, usize)>, usize, usize) { } impl Solution for Day03 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day03.txt") diff --git a/aoc-solver/src/y2020/day04.rs b/aoc-solver/src/y2020/day04.rs index 10c1c2b..061fb2b 100644 --- a/aoc-solver/src/y2020/day04.rs +++ b/aoc-solver/src/y2020/day04.rs @@ -178,8 +178,8 @@ fn parse_passport_part2(input: &str) -> IResult<&str, Passport> { } impl Solution for Day04 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day04.txt") diff --git a/aoc-solver/src/y2020/day05.rs b/aoc-solver/src/y2020/day05.rs index 2c5a028..7843234 100644 --- a/aoc-solver/src/y2020/day05.rs +++ b/aoc-solver/src/y2020/day05.rs @@ -30,8 +30,8 @@ fn parse_boarding_pass(input: &str) -> BoardingPass { } impl Solution for Day05 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day05.txt") diff --git a/aoc-solver/src/y2020/day06.rs b/aoc-solver/src/y2020/day06.rs index f22e840..0ad13bf 100644 --- a/aoc-solver/src/y2020/day06.rs +++ b/aoc-solver/src/y2020/day06.rs @@ -25,8 +25,8 @@ fn parse_answers_2(input: &str) -> HashSet { } impl Solution for Day06 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day06.txt") diff --git a/aoc-solver/src/y2020/day07.rs b/aoc-solver/src/y2020/day07.rs index 4cdf123..bf2f7ab 100644 --- a/aoc-solver/src/y2020/day07.rs +++ b/aoc-solver/src/y2020/day07.rs @@ -84,8 +84,8 @@ fn find_inner_bags_count(current: String, rules: HashMap) -> usize } impl Solution for Day07 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day07.txt") diff --git a/aoc-solver/src/y2020/day08.rs b/aoc-solver/src/y2020/day08.rs index 520efe5..a6cce2e 100644 --- a/aoc-solver/src/y2020/day08.rs +++ b/aoc-solver/src/y2020/day08.rs @@ -87,8 +87,8 @@ fn parse_instruction(input: &str) -> IResult<&str, Instruction> { } impl Solution for Day08 { - type A = i32; - type B = i32; + type Part1 = i32; + type Part2 = i32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day08.txt") diff --git a/aoc-solver/src/y2020/day09.rs b/aoc-solver/src/y2020/day09.rs index 0ee9772..7c3c7c8 100644 --- a/aoc-solver/src/y2020/day09.rs +++ b/aoc-solver/src/y2020/day09.rs @@ -69,8 +69,8 @@ fn solve_part2(input: &str, preamble_len: usize) -> Result { } impl Solution for Day09 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day09.txt") diff --git a/aoc-solver/src/y2020/day10.rs b/aoc-solver/src/y2020/day10.rs index d0b656b..08f071a 100644 --- a/aoc-solver/src/y2020/day10.rs +++ b/aoc-solver/src/y2020/day10.rs @@ -107,8 +107,8 @@ impl Solver { } impl Solution for Day10 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day10.txt") diff --git a/aoc-solver/src/y2020/day11.rs b/aoc-solver/src/y2020/day11.rs index 6b86f34..c8f31eb 100644 --- a/aoc-solver/src/y2020/day11.rs +++ b/aoc-solver/src/y2020/day11.rs @@ -157,8 +157,8 @@ impl GameOfSeats { } impl Solution for Day11 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day11.txt") diff --git a/aoc-solver/src/y2020/day12.rs b/aoc-solver/src/y2020/day12.rs index efb2cda..db73d1c 100644 --- a/aoc-solver/src/y2020/day12.rs +++ b/aoc-solver/src/y2020/day12.rs @@ -10,8 +10,8 @@ pub struct Ship { } impl Solution for Day12 { - type A = i32; - type B = i32; + type Part1 = i32; + type Part2 = i32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day12.txt") diff --git a/aoc-solver/src/y2020/day13.rs b/aoc-solver/src/y2020/day13.rs index 5b99105..2c36c46 100644 --- a/aoc-solver/src/y2020/day13.rs +++ b/aoc-solver/src/y2020/day13.rs @@ -23,8 +23,8 @@ fn mod_inv(a: i64, module: i64) -> i64 { } impl Solution for Day13 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day13.txt") diff --git a/aoc-solver/src/y2020/day14.rs b/aoc-solver/src/y2020/day14.rs index 091c2e1..389bcfa 100644 --- a/aoc-solver/src/y2020/day14.rs +++ b/aoc-solver/src/y2020/day14.rs @@ -7,8 +7,8 @@ use crate::solution::{AocError, Solution}; pub struct Day14; impl Solution for Day14 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day14.txt") diff --git a/aoc-solver/src/y2020/day15.rs b/aoc-solver/src/y2020/day15.rs index 5f354db..09ea0ee 100644 --- a/aoc-solver/src/y2020/day15.rs +++ b/aoc-solver/src/y2020/day15.rs @@ -31,8 +31,8 @@ fn memory_game(input: &str, turns: u32) -> u32 { } impl Solution for Day15 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day15.txt") diff --git a/aoc-solver/src/y2020/day16.rs b/aoc-solver/src/y2020/day16.rs index 33cdd2c..41e2782 100644 --- a/aoc-solver/src/y2020/day16.rs +++ b/aoc-solver/src/y2020/day16.rs @@ -143,8 +143,8 @@ fn parse_part_2(input: &str) -> Option<(Ticket, Vec)> { } impl Solution for Day16 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day16.txt") diff --git a/aoc-solver/src/y2020/day17.rs b/aoc-solver/src/y2020/day17.rs index 32fef42..3de8df9 100644 --- a/aoc-solver/src/y2020/day17.rs +++ b/aoc-solver/src/y2020/day17.rs @@ -201,8 +201,8 @@ impl GameOfCubes { } impl Solution for Day17 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day17.txt") diff --git a/aoc-solver/src/y2020/day18.rs b/aoc-solver/src/y2020/day18.rs index 2a81d1d..8418236 100644 --- a/aoc-solver/src/y2020/day18.rs +++ b/aoc-solver/src/y2020/day18.rs @@ -82,8 +82,8 @@ fn evaluate_rpn(mut rpn: VecDeque) -> i64 { } impl Solution for Day18 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day18.txt") diff --git a/aoc-solver/src/y2020/day19.rs b/aoc-solver/src/y2020/day19.rs index 01b4fb6..985579a 100644 --- a/aoc-solver/src/y2020/day19.rs +++ b/aoc-solver/src/y2020/day19.rs @@ -190,8 +190,8 @@ fn count_valid_grammar(input: &str) -> usize { } impl Solution for Day19 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day19.txt") diff --git a/aoc-solver/src/y2020/day20.rs b/aoc-solver/src/y2020/day20.rs index 4658f2c..134cf02 100644 --- a/aoc-solver/src/y2020/day20.rs +++ b/aoc-solver/src/y2020/day20.rs @@ -244,7 +244,7 @@ impl Solver { false } - fn check_for_sea_monsters(data: &mut Vec>) { + fn check_for_sea_monsters(data: &mut [Vec<(char, bool)>]) { // A sea monster will look like this: // # // # ## ## ### @@ -282,8 +282,8 @@ impl Solver { } impl Solution for Day20 { - type A = u64; - type B = usize; + type Part1 = u64; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day20.txt") diff --git a/aoc-solver/src/y2020/day21.rs b/aoc-solver/src/y2020/day21.rs index 4128de5..2c46ea5 100644 --- a/aoc-solver/src/y2020/day21.rs +++ b/aoc-solver/src/y2020/day21.rs @@ -23,8 +23,8 @@ fn parse_line(input: &str) -> (HashSet<&str>, HashSet<&str>) { } impl Solution for Day21 { - type A = usize; - type B = String; + type Part1 = usize; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day21.txt") diff --git a/aoc-solver/src/y2020/day22.rs b/aoc-solver/src/y2020/day22.rs index 7d45cfb..658b345 100644 --- a/aoc-solver/src/y2020/day22.rs +++ b/aoc-solver/src/y2020/day22.rs @@ -90,8 +90,8 @@ fn play_recursive_game( } impl Solution for Day22 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day22.txt") diff --git a/aoc-solver/src/y2020/day23.rs b/aoc-solver/src/y2020/day23.rs index 297fa45..c378e8c 100644 --- a/aoc-solver/src/y2020/day23.rs +++ b/aoc-solver/src/y2020/day23.rs @@ -75,8 +75,8 @@ fn play(input: &str, moves: u32) -> Result { } impl Solution for Day23 { - type A = String; - type B = u64; + type Part1 = String; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day23.txt") diff --git a/aoc-solver/src/y2020/day24.rs b/aoc-solver/src/y2020/day24.rs index f520f03..c70dbcf 100644 --- a/aoc-solver/src/y2020/day24.rs +++ b/aoc-solver/src/y2020/day24.rs @@ -143,8 +143,8 @@ impl GameOfTiles { } impl Solution for Day24 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day24.txt") diff --git a/aoc-solver/src/y2020/day25.rs b/aoc-solver/src/y2020/day25.rs index 339c102..ef4b82d 100644 --- a/aoc-solver/src/y2020/day25.rs +++ b/aoc-solver/src/y2020/day25.rs @@ -19,8 +19,8 @@ fn transform_subject_num(subject_number: u64, loop_size: u64) -> u64 { } impl Solution for Day25 { - type A = u64; - type B = String; + type Part1 = u64; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2020/day01.txt") diff --git a/aoc-solver/src/y2021/day01.rs b/aoc-solver/src/y2021/day01.rs index b01234f..2706954 100644 --- a/aoc-solver/src/y2021/day01.rs +++ b/aoc-solver/src/y2021/day01.rs @@ -17,8 +17,8 @@ where } impl Solution for Day01 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day01.txt") diff --git a/aoc-solver/src/y2021/day02.rs b/aoc-solver/src/y2021/day02.rs index e40b204..e1b8604 100644 --- a/aoc-solver/src/y2021/day02.rs +++ b/aoc-solver/src/y2021/day02.rs @@ -3,8 +3,8 @@ use crate::solution::{AocError, Solution}; pub struct Day02; impl Solution for Day02 { - type A = i32; - type B = i32; + type Part1 = i32; + type Part2 = i32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day02.txt") diff --git a/aoc-solver/src/y2021/day03.rs b/aoc-solver/src/y2021/day03.rs index 731c805..3c80761 100644 --- a/aoc-solver/src/y2021/day03.rs +++ b/aoc-solver/src/y2021/day03.rs @@ -53,8 +53,8 @@ fn filter_by_bit_criteria(mut candidates: Vec>, expected_value: u32) -> } impl Solution for Day03 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day03.txt") diff --git a/aoc-solver/src/y2021/day04.rs b/aoc-solver/src/y2021/day04.rs index c4d15bc..4846542 100644 --- a/aoc-solver/src/y2021/day04.rs +++ b/aoc-solver/src/y2021/day04.rs @@ -55,8 +55,8 @@ fn parse(input: &str) -> (Vec, Vec) { } impl Solution for Day04 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day04.txt") diff --git a/aoc-solver/src/y2021/day05.rs b/aoc-solver/src/y2021/day05.rs index 30cca79..b093c8a 100644 --- a/aoc-solver/src/y2021/day05.rs +++ b/aoc-solver/src/y2021/day05.rs @@ -68,8 +68,8 @@ fn solve(input: &str, is_allow_diagonal: bool) -> usize { } impl Solution for Day05 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day05.txt") diff --git a/aoc-solver/src/y2021/day06.rs b/aoc-solver/src/y2021/day06.rs index 9d88bdd..36f5220 100644 --- a/aoc-solver/src/y2021/day06.rs +++ b/aoc-solver/src/y2021/day06.rs @@ -49,8 +49,8 @@ fn solve(input: &str, days: usize) -> u64 { } impl Solution for Day06 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day06.txt") diff --git a/aoc-solver/src/y2021/day07.rs b/aoc-solver/src/y2021/day07.rs index 25d434d..a126652 100644 --- a/aoc-solver/src/y2021/day07.rs +++ b/aoc-solver/src/y2021/day07.rs @@ -13,8 +13,8 @@ fn parse(input: &str) -> Vec { } impl Solution for Day07 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day07.txt") diff --git a/aoc-solver/src/y2021/day08.rs b/aoc-solver/src/y2021/day08.rs index e994d34..d4ca1c2 100644 --- a/aoc-solver/src/y2021/day08.rs +++ b/aoc-solver/src/y2021/day08.rs @@ -130,8 +130,8 @@ fn signal_to_decimal_mappings(unique_signal_patterns: Vec>) -> Has } impl Solution for Day08 { - type A = usize; - type B = u32; + type Part1 = usize; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day08.txt") diff --git a/aoc-solver/src/y2021/day09.rs b/aoc-solver/src/y2021/day09.rs index 33e3d7b..2ca3c35 100644 --- a/aoc-solver/src/y2021/day09.rs +++ b/aoc-solver/src/y2021/day09.rs @@ -77,8 +77,8 @@ fn find_basin_recursive( } impl Solution for Day09 { - type A = u32; - type B = usize; + type Part1 = u32; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day09.txt") diff --git a/aoc-solver/src/y2021/day10.rs b/aoc-solver/src/y2021/day10.rs index e49d9b8..1f57e66 100644 --- a/aoc-solver/src/y2021/day10.rs +++ b/aoc-solver/src/y2021/day10.rs @@ -103,8 +103,8 @@ fn parse_with_autocomplete(input: &str) -> Option> { } impl Solution for Day10 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day10.txt") diff --git a/aoc-solver/src/y2021/day11.rs b/aoc-solver/src/y2021/day11.rs index 0b8d14c..4b7125c 100644 --- a/aoc-solver/src/y2021/day11.rs +++ b/aoc-solver/src/y2021/day11.rs @@ -85,8 +85,8 @@ fn simulate_step(mut octopuses: Vec>) -> (Vec>, usize) { } impl Solution for Day11 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day11.txt") diff --git a/aoc-solver/src/y2021/day12.rs b/aoc-solver/src/y2021/day12.rs index d13dcdf..348b8b4 100644 --- a/aoc-solver/src/y2021/day12.rs +++ b/aoc-solver/src/y2021/day12.rs @@ -82,8 +82,8 @@ fn search_paths_part2<'a>( } impl Solution for Day12 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day12.txt") diff --git a/aoc-solver/src/y2021/day13.rs b/aoc-solver/src/y2021/day13.rs index 8fc78e8..4348760 100644 --- a/aoc-solver/src/y2021/day13.rs +++ b/aoc-solver/src/y2021/day13.rs @@ -102,8 +102,8 @@ fn fold_paper(dots: &mut HashSet, fold: Fold) { } impl Solution for Day13 { - type A = usize; - type B = String; + type Part1 = usize; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day13.txt") diff --git a/aoc-solver/src/y2021/day14.rs b/aoc-solver/src/y2021/day14.rs index 4e35914..c334d4a 100644 --- a/aoc-solver/src/y2021/day14.rs +++ b/aoc-solver/src/y2021/day14.rs @@ -125,8 +125,8 @@ fn solve(input: &str, steps: usize) -> usize { } impl Solution for Day14 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day14.txt") diff --git a/aoc-solver/src/y2021/day15.rs b/aoc-solver/src/y2021/day15.rs index ea29944..3076c71 100644 --- a/aoc-solver/src/y2021/day15.rs +++ b/aoc-solver/src/y2021/day15.rs @@ -123,8 +123,8 @@ fn solve(grid: Vec>) -> Result { } impl Solution for Day15 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day15.txt") diff --git a/aoc-solver/src/y2021/day16.rs b/aoc-solver/src/y2021/day16.rs index 5934e18..7c7e0f7 100644 --- a/aoc-solver/src/y2021/day16.rs +++ b/aoc-solver/src/y2021/day16.rs @@ -201,8 +201,8 @@ fn packet_value(packet: &Packet) -> u64 { } impl Solution for Day16 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day16.txt") @@ -230,7 +230,7 @@ mod tests { #[test] fn it_parses_literal_value() { let bit_stream = &decode_hex_input("D2FE28").unwrap(); - let (_, parsed) = parse_literal_value((&bit_stream, 0)).unwrap(); + let (_, parsed) = parse_literal_value((bit_stream, 0)).unwrap(); assert_eq!( parsed, Packet::LiteraValue { @@ -244,7 +244,7 @@ mod tests { #[test] fn it_parses_operator_15_bits() { let bit_stream = &decode_hex_input("38006F45291200").unwrap(); - let (_, parsed) = parse_operator_15_bits((&bit_stream, 0)).unwrap(); + let (_, parsed) = parse_operator_15_bits((bit_stream, 0)).unwrap(); assert_eq!( parsed, Packet::Operator { @@ -270,7 +270,7 @@ mod tests { #[test] fn it_parses_operator_11_bits() { let bit_stream = &decode_hex_input("EE00D40C823060").unwrap(); - let (_, parsed) = parse_operator_11_bits((&bit_stream, 0)).unwrap(); + let (_, parsed) = parse_operator_11_bits((bit_stream, 0)).unwrap(); assert_eq!( parsed, Packet::Operator { diff --git a/aoc-solver/src/y2021/day17.rs b/aoc-solver/src/y2021/day17.rs index b7f964d..2e3fe05 100644 --- a/aoc-solver/src/y2021/day17.rs +++ b/aoc-solver/src/y2021/day17.rs @@ -88,8 +88,8 @@ fn find_max_height(target_area: TargetArea, initial_x_v: i32, initial_y_v: i32) } impl Solution for Day17 { - type A = i32; - type B = usize; + type Part1 = i32; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day17.txt") diff --git a/aoc-solver/src/y2021/day18.rs b/aoc-solver/src/y2021/day18.rs index 684d050..5e24cbd 100644 --- a/aoc-solver/src/y2021/day18.rs +++ b/aoc-solver/src/y2021/day18.rs @@ -360,8 +360,8 @@ fn add_list(input: &str) -> BinaryTree { } impl Solution for Day18 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day18.txt") diff --git a/aoc-solver/src/y2021/day21.rs b/aoc-solver/src/y2021/day21.rs index c22f69c..2365a76 100644 --- a/aoc-solver/src/y2021/day21.rs +++ b/aoc-solver/src/y2021/day21.rs @@ -71,8 +71,8 @@ fn play_quantum_turn(rolls: u32, mut players: [Player; 2], active_player: usize) } impl Solution for Day21 { - type A = u32; - type B = usize; + type Part1 = u32; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day21.txt") diff --git a/aoc-solver/src/y2021/day22.rs b/aoc-solver/src/y2021/day22.rs index 7aa2f69..b175027 100644 --- a/aoc-solver/src/y2021/day22.rs +++ b/aoc-solver/src/y2021/day22.rs @@ -166,8 +166,8 @@ fn reboot_reactor(input: &str, initialization_procedure: bool) -> usize { } impl Solution for Day22 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2021/day22.txt") diff --git a/aoc-solver/src/y2022/day01.rs b/aoc-solver/src/y2022/day01.rs index 0990d69..84dd085 100644 --- a/aoc-solver/src/y2022/day01.rs +++ b/aoc-solver/src/y2022/day01.rs @@ -21,8 +21,8 @@ fn parse(input: &str) -> Result, AocError> { } impl Solution for Day01 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day01.txt") diff --git a/aoc-solver/src/y2022/day02.rs b/aoc-solver/src/y2022/day02.rs index 8998054..39865b7 100644 --- a/aoc-solver/src/y2022/day02.rs +++ b/aoc-solver/src/y2022/day02.rs @@ -42,8 +42,8 @@ fn score(selected: Rps, outcome: Outcome) -> i64 { } impl Solution for Day02 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day02.txt") diff --git a/aoc-solver/src/y2022/day03.rs b/aoc-solver/src/y2022/day03.rs index 8150b3b..1e4eeb0 100644 --- a/aoc-solver/src/y2022/day03.rs +++ b/aoc-solver/src/y2022/day03.rs @@ -17,8 +17,8 @@ fn as_priority(item: u8) -> u32 { } impl Solution for Day03 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day03.txt") diff --git a/aoc-solver/src/y2022/day04.rs b/aoc-solver/src/y2022/day04.rs index 76344eb..06fcf73 100644 --- a/aoc-solver/src/y2022/day04.rs +++ b/aoc-solver/src/y2022/day04.rs @@ -28,8 +28,8 @@ fn parse(input: &str) -> Result { } impl Solution for Day04 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day04.txt") diff --git a/aoc-solver/src/y2022/day05.rs b/aoc-solver/src/y2022/day05.rs index 1624255..5fe5752 100644 --- a/aoc-solver/src/y2022/day05.rs +++ b/aoc-solver/src/y2022/day05.rs @@ -53,8 +53,8 @@ fn top_crates(crates: Vec>) -> String { } impl Solution for Day05 { - type A = String; - type B = String; + type Part1 = String; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day05.txt") diff --git a/aoc-solver/src/y2022/day06.rs b/aoc-solver/src/y2022/day06.rs index 13bb946..be3f643 100644 --- a/aoc-solver/src/y2022/day06.rs +++ b/aoc-solver/src/y2022/day06.rs @@ -15,8 +15,8 @@ fn find_marker(signal: Vec, marker_len: usize) -> Result } impl Solution for Day06 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day06.txt") diff --git a/aoc-solver/src/y2022/day07.rs b/aoc-solver/src/y2022/day07.rs index de3f6cb..c9c34a3 100644 --- a/aoc-solver/src/y2022/day07.rs +++ b/aoc-solver/src/y2022/day07.rs @@ -79,8 +79,8 @@ fn find_directory_sizes(node: &FsNode) -> Vec { } impl Solution for Day07 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day07.txt") diff --git a/aoc-solver/src/y2022/day08.rs b/aoc-solver/src/y2022/day08.rs index 43c9ccc..d8dd263 100644 --- a/aoc-solver/src/y2022/day08.rs +++ b/aoc-solver/src/y2022/day08.rs @@ -32,8 +32,8 @@ fn parse(input: &str) -> Result>, AocError> { } impl Solution for Day08 { - type A = i32; - type B = i32; + type Part1 = i32; + type Part2 = i32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day08.txt") diff --git a/aoc-solver/src/y2022/day09.rs b/aoc-solver/src/y2022/day09.rs index 5a12f76..c14df60 100644 --- a/aoc-solver/src/y2022/day09.rs +++ b/aoc-solver/src/y2022/day09.rs @@ -103,8 +103,8 @@ impl Day09 { } impl Solution for Day09 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day09.txt") diff --git a/aoc-solver/src/y2022/day10.rs b/aoc-solver/src/y2022/day10.rs index d33853c..fdd5dcf 100644 --- a/aoc-solver/src/y2022/day10.rs +++ b/aoc-solver/src/y2022/day10.rs @@ -34,8 +34,8 @@ impl Day10 { } impl Solution for Day10 { - type A = i32; - type B = String; + type Part1 = i32; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day10.txt") diff --git a/aoc-solver/src/y2022/day11.rs b/aoc-solver/src/y2022/day11.rs index 8981433..26f1377 100644 --- a/aoc-solver/src/y2022/day11.rs +++ b/aoc-solver/src/y2022/day11.rs @@ -130,8 +130,8 @@ impl Day11 { } impl Solution for Day11 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day11.txt") diff --git a/aoc-solver/src/y2022/day12.rs b/aoc-solver/src/y2022/day12.rs index 7525246..b0791f8 100644 --- a/aoc-solver/src/y2022/day12.rs +++ b/aoc-solver/src/y2022/day12.rs @@ -111,8 +111,8 @@ fn dijkstra(grid: Vec>, source: Coord, target: Coord) -> Option { } impl Solution for Day12 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day12.txt") diff --git a/aoc-solver/src/y2022/day13.rs b/aoc-solver/src/y2022/day13.rs index 88bc10c..10d8f6e 100644 --- a/aoc-solver/src/y2022/day13.rs +++ b/aoc-solver/src/y2022/day13.rs @@ -107,8 +107,8 @@ fn parse(input: &str) -> IResult<&str, Vec<[Packet; 2]>> { pub struct Day13; impl Solution for Day13 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day13.txt") diff --git a/aoc-solver/src/y2022/day14.rs b/aoc-solver/src/y2022/day14.rs index 2ab1a08..09c88b8 100644 --- a/aoc-solver/src/y2022/day14.rs +++ b/aoc-solver/src/y2022/day14.rs @@ -96,8 +96,8 @@ impl Day14 { } impl Solution for Day14 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day14.txt") diff --git a/aoc-solver/src/y2022/day15.rs b/aoc-solver/src/y2022/day15.rs index 6d14a65..45d7066 100644 --- a/aoc-solver/src/y2022/day15.rs +++ b/aoc-solver/src/y2022/day15.rs @@ -133,8 +133,8 @@ impl Day15 { } impl Solution for Day15 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day15.txt") diff --git a/aoc-solver/src/y2022/day16.rs b/aoc-solver/src/y2022/day16.rs index 312bebf..64fddda 100644 --- a/aoc-solver/src/y2022/day16.rs +++ b/aoc-solver/src/y2022/day16.rs @@ -17,13 +17,13 @@ struct Search<'a> { distance: u32, } -impl<'a> Ord for Search<'a> { +impl Ord for Search<'_> { fn cmp(&self, other: &Self) -> Ordering { other.distance.cmp(&self.distance) } } -impl<'a> PartialOrd for Search<'a> { +impl PartialOrd for Search<'_> { fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } @@ -215,8 +215,8 @@ impl Day16 { } impl Solution for Day16 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day16.txt") diff --git a/aoc-solver/src/y2022/day17.rs b/aoc-solver/src/y2022/day17.rs index e6e891c..91289ea 100644 --- a/aoc-solver/src/y2022/day17.rs +++ b/aoc-solver/src/y2022/day17.rs @@ -153,8 +153,8 @@ impl Day17 { } impl Solution for Day17 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day17.txt") diff --git a/aoc-solver/src/y2022/day18.rs b/aoc-solver/src/y2022/day18.rs index 82ec4e3..e5f219d 100644 --- a/aoc-solver/src/y2022/day18.rs +++ b/aoc-solver/src/y2022/day18.rs @@ -157,8 +157,8 @@ impl Day18 { } impl Solution for Day18 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day18.txt") diff --git a/aoc-solver/src/y2022/day19.rs b/aoc-solver/src/y2022/day19.rs index 576e58e..e307954 100644 --- a/aoc-solver/src/y2022/day19.rs +++ b/aoc-solver/src/y2022/day19.rs @@ -102,7 +102,7 @@ impl Day19 { } let required = cost.saturating_sub(inventory[ingredient]); - Some((required + production[ingredient] - 1) / production[ingredient]) + Some(required.div_ceil(production[ingredient])) }) .collect(); @@ -198,8 +198,8 @@ impl Day19 { } impl Solution for Day19 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day19.txt") diff --git a/aoc-solver/src/y2022/day20.rs b/aoc-solver/src/y2022/day20.rs index c2c5b01..25e9c61 100644 --- a/aoc-solver/src/y2022/day20.rs +++ b/aoc-solver/src/y2022/day20.rs @@ -51,8 +51,8 @@ impl Day20 { } impl Solution for Day20 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day20.txt") diff --git a/aoc-solver/src/y2022/day21.rs b/aoc-solver/src/y2022/day21.rs index dc11b48..830e254 100644 --- a/aoc-solver/src/y2022/day21.rs +++ b/aoc-solver/src/y2022/day21.rs @@ -79,8 +79,8 @@ impl Day21 { } impl Solution for Day21 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day21.txt") diff --git a/aoc-solver/src/y2022/day22.rs b/aoc-solver/src/y2022/day22.rs index 1e28170..ea215bd 100644 --- a/aoc-solver/src/y2022/day22.rs +++ b/aoc-solver/src/y2022/day22.rs @@ -258,7 +258,7 @@ impl Day22 { if current != *source { if let Some(neighbour) = facets.get(&(current)) { // The neighbour slot from this direction has to be empty - if neighbour.neighbours.get(&direction.reverse()).is_some() { + if neighbour.neighbours.contains_key(&direction.reverse()) { continue; } @@ -449,8 +449,8 @@ impl Day22 { } impl Solution for Day22 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { diff --git a/aoc-solver/src/y2022/day23.rs b/aoc-solver/src/y2022/day23.rs index 8a4018b..7119a5c 100644 --- a/aoc-solver/src/y2022/day23.rs +++ b/aoc-solver/src/y2022/day23.rs @@ -94,8 +94,8 @@ impl Day23 { } impl Solution for Day23 { - type A = i64; - type B = usize; + type Part1 = i64; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day23.txt") diff --git a/aoc-solver/src/y2022/day24.rs b/aoc-solver/src/y2022/day24.rs index dd1f8ef..9fe8fbe 100644 --- a/aoc-solver/src/y2022/day24.rs +++ b/aoc-solver/src/y2022/day24.rs @@ -176,8 +176,8 @@ impl Day24 { } impl Solution for Day24 { - type A = i32; - type B = i32; + type Part1 = i32; + type Part2 = i32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day24.txt") diff --git a/aoc-solver/src/y2022/day25.rs b/aoc-solver/src/y2022/day25.rs index 9fedf4a..8dea73a 100644 --- a/aoc-solver/src/y2022/day25.rs +++ b/aoc-solver/src/y2022/day25.rs @@ -50,8 +50,8 @@ impl Day25 { } impl Solution for Day25 { - type A = String; - type B = String; + type Part1 = String; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2022/day25.txt") diff --git a/aoc-solver/src/y2023/day01.rs b/aoc-solver/src/y2023/day01.rs index 5574c85..60ea535 100644 --- a/aoc-solver/src/y2023/day01.rs +++ b/aoc-solver/src/y2023/day01.rs @@ -7,8 +7,8 @@ const NUMBERS: [&str; 9] = [ ]; impl Solution for Day01 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day01.txt") diff --git a/aoc-solver/src/y2023/day02.rs b/aoc-solver/src/y2023/day02.rs index 1005196..0f9b092 100644 --- a/aoc-solver/src/y2023/day02.rs +++ b/aoc-solver/src/y2023/day02.rs @@ -63,8 +63,8 @@ fn max_color_seen(hands: &[Hand], color_extractor: impl Fn(&Hand) -> u32) -> u32 } impl Solution for Day02 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day02.txt") diff --git a/aoc-solver/src/y2023/day03.rs b/aoc-solver/src/y2023/day03.rs index da43f89..e3b5c38 100644 --- a/aoc-solver/src/y2023/day03.rs +++ b/aoc-solver/src/y2023/day03.rs @@ -51,8 +51,8 @@ fn parse(input: &str) -> Result<(Symbols, Numbers), AocError> { } impl Solution for Day03 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day03.txt") diff --git a/aoc-solver/src/y2023/day04.rs b/aoc-solver/src/y2023/day04.rs index 33979e4..d298bba 100644 --- a/aoc-solver/src/y2023/day04.rs +++ b/aoc-solver/src/y2023/day04.rs @@ -45,8 +45,8 @@ fn parse_numbers(numbers: &str) -> Result, AocError> { } impl Solution for Day04 { - type A = u32; - type B = usize; + type Part1 = u32; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day04.txt") diff --git a/aoc-solver/src/y2023/day05.rs b/aoc-solver/src/y2023/day05.rs index 2f4f17a..62787e9 100644 --- a/aoc-solver/src/y2023/day05.rs +++ b/aoc-solver/src/y2023/day05.rs @@ -87,8 +87,8 @@ fn parse_number(number: &str) -> Result { } impl Solution for Day05 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day05.txt") diff --git a/aoc-solver/src/y2023/day06.rs b/aoc-solver/src/y2023/day06.rs index 1c567b5..c748677 100644 --- a/aoc-solver/src/y2023/day06.rs +++ b/aoc-solver/src/y2023/day06.rs @@ -74,8 +74,8 @@ fn parse_part_2(input: &str) -> Result { } impl Solution for Day06 { - type A = usize; - type B = i64; + type Part1 = usize; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day06.txt") diff --git a/aoc-solver/src/y2023/day07.rs b/aoc-solver/src/y2023/day07.rs index 6851d39..e78fc6f 100644 --- a/aoc-solver/src/y2023/day07.rs +++ b/aoc-solver/src/y2023/day07.rs @@ -131,8 +131,8 @@ fn calculate_winnings(input: &str, scores: &[char], use_jokers: bool) -> Result< } impl Solution for Day07 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day07.txt") diff --git a/aoc-solver/src/y2023/day08.rs b/aoc-solver/src/y2023/day08.rs index d54f3c9..ac66d22 100644 --- a/aoc-solver/src/y2023/day08.rs +++ b/aoc-solver/src/y2023/day08.rs @@ -65,8 +65,8 @@ fn parse(input: &str) -> Result<(String, HashMap), AocError> { } impl Solution for Day08 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day08.txt") diff --git a/aoc-solver/src/y2023/day09.rs b/aoc-solver/src/y2023/day09.rs index c12a7bd..8f9cd08 100644 --- a/aoc-solver/src/y2023/day09.rs +++ b/aoc-solver/src/y2023/day09.rs @@ -50,8 +50,8 @@ fn extrapolate(mut sequence: Vec, direction: Direction) -> i32 { } impl Solution for Day09 { - type A = i32; - type B = i32; + type Part1 = i32; + type Part2 = i32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day09.txt") diff --git a/aoc-solver/src/y2023/day10.rs b/aoc-solver/src/y2023/day10.rs index 9871e17..024efcc 100644 --- a/aoc-solver/src/y2023/day10.rs +++ b/aoc-solver/src/y2023/day10.rs @@ -140,8 +140,8 @@ fn shoelace(vertices: &[Point]) -> f64 { } impl Solution for Day10 { - type A = u32; - type B = i32; + type Part1 = u32; + type Part2 = i32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day10.txt") diff --git a/aoc-solver/src/y2023/day11.rs b/aoc-solver/src/y2023/day11.rs index 05424b6..08aa6c4 100644 --- a/aoc-solver/src/y2023/day11.rs +++ b/aoc-solver/src/y2023/day11.rs @@ -14,27 +14,28 @@ fn parse(input: &str) -> Result { .trim() .lines() .enumerate() - .flat_map(|(y, line)| line.chars().enumerate().filter_map(|(x, c)| { - if c == '#' { - return Some((x,y)); - } - None - }).collect::>()) + .flat_map(|(y, line)| { + line.chars() + .enumerate() + .filter_map(|(x, c)| { + if c == '#' { + return Some((x, y)); + } + None + }) + .collect::>() + }) .collect(); Ok(universe) } fn max_x(map: &Universe) -> usize { - map - .iter() - .max_by(|a, b| a.0.cmp(&b.0)).unwrap_or(&(0,0)).0 + map.iter().max_by(|a, b| a.0.cmp(&b.0)).unwrap_or(&(0, 0)).0 } fn max_y(map: &Universe) -> usize { - map - .iter() - .max_by(|a, b| a.1.cmp(&b.1)).unwrap_or(&(0,0)).1 + map.iter().max_by(|a, b| a.1.cmp(&b.1)).unwrap_or(&(0, 0)).1 } fn is_empty_row(map: &Universe, row: usize) -> bool { @@ -95,7 +96,8 @@ fn distances(map: &Universe) -> i64 { let mut distance = 0; for (first, second) in map.iter().tuple_combinations() { - distance += (first.0 as i64 - second.0 as i64).abs() + (first.1 as i64 - second.1 as i64).abs(); + distance += + (first.0 as i64 - second.0 as i64).abs() + (first.1 as i64 - second.1 as i64).abs(); } distance @@ -110,8 +112,8 @@ fn solve(input: &str, rate: usize) -> Result { } impl Solution for Day11 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day11.txt") @@ -132,8 +134,9 @@ mod tests { #[test] fn it_solves_part1_example() { - assert_eq!(solve( - "...#......\n\ + assert_eq!( + solve( + "...#......\n\ .......#..\n\ #.........\n\ ..........\n\ @@ -143,13 +146,18 @@ mod tests { ..........\n\ .......#..\n\ #...#..... - ", 2), Ok(374)); + ", + 2 + ), + Ok(374) + ); } #[test] fn it_solves_part2_example_1() { - assert_eq!(solve( - "...#......\n\ + assert_eq!( + solve( + "...#......\n\ .......#..\n\ #.........\n\ ..........\n\ @@ -159,13 +167,18 @@ mod tests { ..........\n\ .......#..\n\ #...#..... - ", 10), Ok(1030)); + ", + 10 + ), + Ok(1030) + ); } #[test] fn it_solves_part2_example_2() { - assert_eq!(solve( - "...#......\n\ + assert_eq!( + solve( + "...#......\n\ .......#..\n\ #.........\n\ ..........\n\ @@ -175,6 +188,10 @@ mod tests { ..........\n\ .......#..\n\ #...#..... - ", 100), Ok(8410)); + ", + 100 + ), + Ok(8410) + ); } } diff --git a/aoc-solver/src/y2023/day12.rs b/aoc-solver/src/y2023/day12.rs index b940dc7..786b063 100644 --- a/aoc-solver/src/y2023/day12.rs +++ b/aoc-solver/src/y2023/day12.rs @@ -102,8 +102,8 @@ fn find_possible( } impl Solution for Day12 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day12.txt") diff --git a/aoc-solver/src/y2023/day13.rs b/aoc-solver/src/y2023/day13.rs index 487a165..391631d 100644 --- a/aoc-solver/src/y2023/day13.rs +++ b/aoc-solver/src/y2023/day13.rs @@ -58,8 +58,8 @@ fn find_reflection_line(pattern: &[Vec], part_2: bool) -> Option<(usize, D } impl Solution for Day13 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day13.txt") diff --git a/aoc-solver/src/y2023/day14.rs b/aoc-solver/src/y2023/day14.rs index 826cf70..abe1e0c 100644 --- a/aoc-solver/src/y2023/day14.rs +++ b/aoc-solver/src/y2023/day14.rs @@ -55,7 +55,7 @@ fn tilt(tiles: &mut Grid, direction: &Direction) { } } -fn slide_north(tiles: &mut Vec>) { +fn slide_north(tiles: &mut [Vec]) { for y in 0..tiles.len() { for x in 0..tiles[y].len() { if let Tile::Rounded = tiles[y][x] { @@ -91,7 +91,7 @@ fn slide_east(tiles: &mut Vec>) { } } -fn slide_south(tiles: &mut Vec>) { +fn slide_south(tiles: &mut [Vec]) { for y in (0..tiles.len()).rev() { for x in 0..tiles[y].len() { if let Tile::Rounded = tiles[y][x] { @@ -183,8 +183,8 @@ fn support_beams_load(grid: &Grid) -> u32 { } impl Solution for Day14 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day14.txt") diff --git a/aoc-solver/src/y2023/day15.rs b/aoc-solver/src/y2023/day15.rs index f7f8807..8bd2d9b 100644 --- a/aoc-solver/src/y2023/day15.rs +++ b/aoc-solver/src/y2023/day15.rs @@ -9,8 +9,8 @@ fn hash(label: &str) -> usize { } impl Solution for Day15 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day15.txt") diff --git a/aoc-solver/src/y2023/day16.rs b/aoc-solver/src/y2023/day16.rs index 2042f06..167df3a 100644 --- a/aoc-solver/src/y2023/day16.rs +++ b/aoc-solver/src/y2023/day16.rs @@ -49,8 +49,8 @@ fn parse(input: &str) -> Result<(Grid, usize, usize), AocError> { } impl Solution for Day16 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day16.txt") diff --git a/aoc-solver/src/y2023/day17.rs b/aoc-solver/src/y2023/day17.rs index 101a02f..7852351 100644 --- a/aoc-solver/src/y2023/day17.rs +++ b/aoc-solver/src/y2023/day17.rs @@ -155,8 +155,8 @@ fn dijkstra(grid: &Grid, min_consequtive: u8, max_consequtive: u8) -> Result &'static str { include_str!("../../../inputs/2023/day17.txt") diff --git a/aoc-solver/src/y2023/day18.rs b/aoc-solver/src/y2023/day18.rs index 4534dd7..98d21d3 100644 --- a/aoc-solver/src/y2023/day18.rs +++ b/aoc-solver/src/y2023/day18.rs @@ -119,8 +119,8 @@ fn calculate_area(vertices: &[Point], trench_len: u64) -> u64 { } impl Solution for Day18 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day18.txt") diff --git a/aoc-solver/src/y2023/day19.rs b/aoc-solver/src/y2023/day19.rs index f822341..567468f 100644 --- a/aoc-solver/src/y2023/day19.rs +++ b/aoc-solver/src/y2023/day19.rs @@ -140,8 +140,8 @@ fn parse(input: &str) -> Result<(Workflows, Vec), AocError> { } impl Solution for Day19 { - type A = u32; - type B = u64; + type Part1 = u32; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day19.txt") @@ -160,8 +160,8 @@ impl Solution for Day19 { let (continue_next, target) = match step { Step::Comparison((category, operator, operand, target)) => { let is_fulfilled = match operator { - Operator::GreaterThan => part[&category] > *operand, - Operator::LessThan => part[&category] < *operand, + Operator::GreaterThan => part[category] > *operand, + Operator::LessThan => part[category] < *operand, }; (is_fulfilled, target) @@ -174,7 +174,7 @@ impl Solution for Day19 { Target::Accepted => return Some(part.values().sum::()), Target::Rejected => return None, Target::Name(name) => { - current = &name; + current = name; break; } } diff --git a/aoc-solver/src/y2023/day20.rs b/aoc-solver/src/y2023/day20.rs index 9120847..99d31e4 100644 --- a/aoc-solver/src/y2023/day20.rs +++ b/aoc-solver/src/y2023/day20.rs @@ -143,8 +143,8 @@ fn lcm(a: u64, b: u64) -> u64 { } impl Solution for Day20 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day20.txt") diff --git a/aoc-solver/src/y2023/day21.rs b/aoc-solver/src/y2023/day21.rs index 72a6474..8a7c454 100644 --- a/aoc-solver/src/y2023/day21.rs +++ b/aoc-solver/src/y2023/day21.rs @@ -87,8 +87,8 @@ fn visit_reachable(tiles: &[Vec], start: (isize, isize), max_steps: usize) } impl Solution for Day21 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day21.txt") diff --git a/aoc-solver/src/y2023/day22.rs b/aoc-solver/src/y2023/day22.rs index b1dfbcd..70b6f04 100644 --- a/aoc-solver/src/y2023/day22.rs +++ b/aoc-solver/src/y2023/day22.rs @@ -110,8 +110,8 @@ fn apply_gravity(mut bricks: Vec) -> Vec { } impl Solution for Day22 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day22.txt") diff --git a/aoc-solver/src/y2023/day23.rs b/aoc-solver/src/y2023/day23.rs index b48fa55..a807950 100644 --- a/aoc-solver/src/y2023/day23.rs +++ b/aoc-solver/src/y2023/day23.rs @@ -353,8 +353,8 @@ fn dfs( } impl Solution for Day23 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day23.txt") diff --git a/aoc-solver/src/y2023/day24.rs b/aoc-solver/src/y2023/day24.rs index 27fa576..f122a85 100644 --- a/aoc-solver/src/y2023/day24.rs +++ b/aoc-solver/src/y2023/day24.rs @@ -270,8 +270,8 @@ fn find_position(hailstones: Vec) -> Result { } impl Solution for Day24 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day24.txt") diff --git a/aoc-solver/src/y2023/day25.rs b/aoc-solver/src/y2023/day25.rs index a7a1efb..007a1d1 100644 --- a/aoc-solver/src/y2023/day25.rs +++ b/aoc-solver/src/y2023/day25.rs @@ -108,8 +108,8 @@ fn traverse(current: String, graph: &Graph, visited: &mut HashSet) { } impl Solution for Day25 { - type A = u32; - type B = String; + type Part1 = u32; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2023/day25.txt") diff --git a/aoc-solver/src/y2024/day01.rs b/aoc-solver/src/y2024/day01.rs index 9ae4a4d..994374a 100644 --- a/aoc-solver/src/y2024/day01.rs +++ b/aoc-solver/src/y2024/day01.rs @@ -29,8 +29,8 @@ fn parse(input: &str) -> Result<(Vec, Vec), AocError> { } impl Solution for Day01 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day01.txt") diff --git a/aoc-solver/src/y2024/day02.rs b/aoc-solver/src/y2024/day02.rs index 88c252f..c1c52d2 100644 --- a/aoc-solver/src/y2024/day02.rs +++ b/aoc-solver/src/y2024/day02.rs @@ -31,8 +31,8 @@ fn is_safe(levels: &[i32]) -> bool { } impl Solution for Day02 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day02.txt") diff --git a/aoc-solver/src/y2024/day03.rs b/aoc-solver/src/y2024/day03.rs index 9af64ea..23892cc 100644 --- a/aoc-solver/src/y2024/day03.rs +++ b/aoc-solver/src/y2024/day03.rs @@ -57,8 +57,8 @@ fn parse(input: &str) -> Result, AocError> { pub struct Day03; impl Solution for Day03 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day03.txt") diff --git a/aoc-solver/src/y2024/day04.rs b/aoc-solver/src/y2024/day04.rs index 01ed419..5cf45c5 100644 --- a/aoc-solver/src/y2024/day04.rs +++ b/aoc-solver/src/y2024/day04.rs @@ -69,8 +69,8 @@ fn cross(x: usize, y: usize, width: isize, height: isize, grid: &Grid) -> usize pub struct Day04; impl Solution for Day04 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day04.txt") diff --git a/aoc-solver/src/y2024/day05.rs b/aoc-solver/src/y2024/day05.rs index b029410..5caf5e1 100644 --- a/aoc-solver/src/y2024/day05.rs +++ b/aoc-solver/src/y2024/day05.rs @@ -59,8 +59,8 @@ fn parse(input: &str) -> Result<(Rules, Updates), AocError> { pub struct Day05; impl Solution for Day05 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day05.txt") diff --git a/aoc-solver/src/y2024/day06.rs b/aoc-solver/src/y2024/day06.rs index 534eae9..f4e7c75 100644 --- a/aoc-solver/src/y2024/day06.rs +++ b/aoc-solver/src/y2024/day06.rs @@ -96,8 +96,8 @@ fn patrol( pub struct Day06; impl Solution for Day06 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day06.txt") diff --git a/aoc-solver/src/y2024/day07.rs b/aoc-solver/src/y2024/day07.rs index a6e3878..0aa891b 100644 --- a/aoc-solver/src/y2024/day07.rs +++ b/aoc-solver/src/y2024/day07.rs @@ -44,8 +44,8 @@ fn is_possible(target: u64, current: u64, rest: &[u64], concat: bool) -> bool { pub struct Day07; impl Solution for Day07 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day07.txt") diff --git a/aoc-solver/src/y2024/day08.rs b/aoc-solver/src/y2024/day08.rs index 6827c3b..2a8383c 100644 --- a/aoc-solver/src/y2024/day08.rs +++ b/aoc-solver/src/y2024/day08.rs @@ -74,8 +74,8 @@ fn find_antinodes( pub struct Day08; impl Solution for Day08 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day08.txt") diff --git a/aoc-solver/src/y2024/day09.rs b/aoc-solver/src/y2024/day09.rs index a17cddd..6a8fdec 100644 --- a/aoc-solver/src/y2024/day09.rs +++ b/aoc-solver/src/y2024/day09.rs @@ -120,8 +120,8 @@ fn checksum(blocks: &[Block]) -> u64 { pub struct Day09; impl Solution for Day09 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day09.txt") diff --git a/aoc-solver/src/y2024/day10.rs b/aoc-solver/src/y2024/day10.rs index 6b96ff7..4f83445 100644 --- a/aoc-solver/src/y2024/day10.rs +++ b/aoc-solver/src/y2024/day10.rs @@ -78,8 +78,8 @@ fn search_trails((x, y): (usize, usize), grid: &[Vec]) -> HashMap<(usize, u pub struct Day10; impl Solution for Day10 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day10.txt") diff --git a/aoc-solver/src/y2024/day11.rs b/aoc-solver/src/y2024/day11.rs index 1947ae8..eb988c5 100644 --- a/aoc-solver/src/y2024/day11.rs +++ b/aoc-solver/src/y2024/day11.rs @@ -52,8 +52,8 @@ fn simulate(stone: u64, steps: usize, cache: &mut Cache) -> usize { pub struct Day11; impl Solution for Day11 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day11.txt") diff --git a/aoc-solver/src/y2024/day12.rs b/aoc-solver/src/y2024/day12.rs index 793e539..53c9044 100644 --- a/aoc-solver/src/y2024/day12.rs +++ b/aoc-solver/src/y2024/day12.rs @@ -83,8 +83,8 @@ fn count_corners(region: &HashSet) -> usize { pub struct Day12; impl Solution for Day12 { - type A = usize; - type B = usize; + type Part1 = usize; + type Part2 = usize; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day12.txt") diff --git a/aoc-solver/src/y2024/day13.rs b/aoc-solver/src/y2024/day13.rs index e72fd95..45fd86e 100644 --- a/aoc-solver/src/y2024/day13.rs +++ b/aoc-solver/src/y2024/day13.rs @@ -83,8 +83,8 @@ fn find_fewest_tokens( pub struct Day13; impl Solution for Day13 { - type A = i64; - type B = i64; + type Part1 = i64; + type Part2 = i64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day13.txt") diff --git a/aoc-solver/src/y2024/day14.rs b/aoc-solver/src/y2024/day14.rs index dc8d04d..2c559a9 100644 --- a/aoc-solver/src/y2024/day14.rs +++ b/aoc-solver/src/y2024/day14.rs @@ -125,8 +125,8 @@ fn flood_fill(start: &Coords, visited: &mut HashSet, robots: &HashSet &'static str { include_str!("../../../inputs/2024/day14.txt") diff --git a/aoc-solver/src/y2024/day15.rs b/aoc-solver/src/y2024/day15.rs index a0c0f2a..a9a2aaa 100644 --- a/aoc-solver/src/y2024/day15.rs +++ b/aoc-solver/src/y2024/day15.rs @@ -137,8 +137,8 @@ fn gps_coordinate((pos, tile): (&Coords, &Tile)) -> Option { pub struct Day15; impl Solution for Day15 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day15.txt") diff --git a/aoc-solver/src/y2024/day16.rs b/aoc-solver/src/y2024/day16.rs index 262617c..c3c1080 100644 --- a/aoc-solver/src/y2024/day16.rs +++ b/aoc-solver/src/y2024/day16.rs @@ -188,8 +188,8 @@ fn dijkstra(grid: &Grid, start: Coords, end: Coords, find_all: bool) -> Option &'static str { include_str!("../../../inputs/2024/day16.txt") diff --git a/aoc-solver/src/y2024/day17.rs b/aoc-solver/src/y2024/day17.rs index 2ab1b1b..5db5f8f 100644 --- a/aoc-solver/src/y2024/day17.rs +++ b/aoc-solver/src/y2024/day17.rs @@ -102,8 +102,8 @@ fn run_program(mut computer: Computer) -> Vec { pub struct Day17; impl Solution for Day17 { - type A = String; - type B = u64; + type Part1 = String; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day17.txt") diff --git a/aoc-solver/src/y2024/day18.rs b/aoc-solver/src/y2024/day18.rs index b06b9fa..9fe850f 100644 --- a/aoc-solver/src/y2024/day18.rs +++ b/aoc-solver/src/y2024/day18.rs @@ -116,8 +116,8 @@ pub fn a_star(corrupted: &[Coords], start: Coords, end: Coords) -> Option { pub struct Day18; impl Solution for Day18 { - type A = u32; - type B = String; + type Part1 = u32; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day18.txt") diff --git a/aoc-solver/src/y2024/day19.rs b/aoc-solver/src/y2024/day19.rs index b1e5370..0833106 100644 --- a/aoc-solver/src/y2024/day19.rs +++ b/aoc-solver/src/y2024/day19.rs @@ -35,8 +35,8 @@ fn count_possible(towels: &[String], design: &str, cache: &mut HashMap &'static str { include_str!("../../../inputs/2024/day19.txt") diff --git a/aoc-solver/src/y2024/day20.rs b/aoc-solver/src/y2024/day20.rs index ab8b724..13488b1 100644 --- a/aoc-solver/src/y2024/day20.rs +++ b/aoc-solver/src/y2024/day20.rs @@ -137,8 +137,8 @@ fn filter_threshold(cheats: HashMap, threshold: u32) -> u32 { pub struct Day20; impl Solution for Day20 { - type A = u32; - type B = u32; + type Part1 = u32; + type Part2 = u32; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day20.txt") diff --git a/aoc-solver/src/y2024/day21.rs b/aoc-solver/src/y2024/day21.rs index 905200b..7e96d08 100644 --- a/aoc-solver/src/y2024/day21.rs +++ b/aoc-solver/src/y2024/day21.rs @@ -267,8 +267,8 @@ fn shortest_sequence(code: &[char], robots: u32, cache: &mut HashMap<(String, u3 pub struct Day21; impl Solution for Day21 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day21.txt") diff --git a/aoc-solver/src/y2024/day22.rs b/aoc-solver/src/y2024/day22.rs index 58acffd..e23aae0 100644 --- a/aoc-solver/src/y2024/day22.rs +++ b/aoc-solver/src/y2024/day22.rs @@ -35,8 +35,8 @@ fn evolve(mut secret: u64) -> u64 { pub struct Day22; impl Solution for Day22 { - type A = u64; - type B = u64; + type Part1 = u64; + type Part2 = u64; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day22.txt") diff --git a/aoc-solver/src/y2024/day23.rs b/aoc-solver/src/y2024/day23.rs index 13ec0ee..96da8c3 100644 --- a/aoc-solver/src/y2024/day23.rs +++ b/aoc-solver/src/y2024/day23.rs @@ -19,8 +19,8 @@ fn parse(input: &str) -> Result>, AocError> { pub struct Day23; impl Solution for Day23 { - type A = u32; - type B = String; + type Part1 = u32; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day23.txt") diff --git a/aoc-solver/src/y2024/day24.rs b/aoc-solver/src/y2024/day24.rs index 31f36e1..a1e0a17 100644 --- a/aoc-solver/src/y2024/day24.rs +++ b/aoc-solver/src/y2024/day24.rs @@ -96,8 +96,8 @@ fn check_next(gates: &Gates, a: &&str, b: &&str, output: &&str, expected: &[Gate pub struct Day24; impl Solution for Day24 { - type A = u64; - type B = String; + type Part1 = u64; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day24.txt") diff --git a/aoc-solver/src/y2024/day25.rs b/aoc-solver/src/y2024/day25.rs index d1292b7..a446ef7 100644 --- a/aoc-solver/src/y2024/day25.rs +++ b/aoc-solver/src/y2024/day25.rs @@ -37,8 +37,8 @@ fn parse(input: &str) -> Result<(Locks, Keys), AocError> { } impl Solution for Day25 { - type A = u32; - type B = String; + type Part1 = u32; + type Part2 = String; fn default_input(&self) -> &'static str { include_str!("../../../inputs/2024/day25.txt")