diff --git a/AOC2015/Day01.cs b/AOC2015/Day01.cs
index 17db815..c7e9717 100644
--- a/AOC2015/Day01.cs
+++ b/AOC2015/Day01.cs
@@ -1,11 +1,7 @@
namespace AOC2015;
-public class Day01 : Day
+public class Day01() : Day(2015, 1, "Not Quite Lisp")
{
- public Day01() : base(2015, 1, "Not Quite Lisp")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2015/Day02.cs b/AOC2015/Day02.cs
index 0c154f9..5f8a9cf 100644
--- a/AOC2015/Day02.cs
+++ b/AOC2015/Day02.cs
@@ -3,13 +3,9 @@ namespace AOC2015;
///
/// Day 2:
///
-public sealed class Day02 : Day
+public sealed class Day02() : Day(2015, 2, "I Was Told There Would Be No Math")
{
private List>? _gifts;
-
- public Day02() : base(2015, 2, "I Was Told There Would Be No Math")
- {
- }
public override void ProcessInput()
{
diff --git a/AOC2015/Day03.cs b/AOC2015/Day03.cs
index 4209db9..7afa9ce 100644
--- a/AOC2015/Day03.cs
+++ b/AOC2015/Day03.cs
@@ -3,12 +3,8 @@ namespace AOC2015;
///
/// Day 3:
///
-public sealed class Day03 : Day
+public sealed class Day03() : Day(2015, 3, "Perfectly Spherical Houses in a Vacuum")
{
- public Day03() : base(2015, 3, "Perfectly Spherical Houses in a Vacuum")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2015/Day04.cs b/AOC2015/Day04.cs
index cad07cb..8f7c377 100644
--- a/AOC2015/Day04.cs
+++ b/AOC2015/Day04.cs
@@ -5,14 +5,10 @@ namespace AOC2015;
///
/// Day 4:
///
-public sealed class Day04 : Day
+public sealed class Day04() : Day(2015, 4, "The Ideal Stocking Stuffer")
{
private string? _key;
- public Day04() : base(2015, 4, "The Ideal Stocking Stuffer")
- {
- }
-
public override void ProcessInput()
{
_key = Input.First();
diff --git a/AOC2015/Day05.cs b/AOC2015/Day05.cs
index 7cd0ffa..31f473e 100644
--- a/AOC2015/Day05.cs
+++ b/AOC2015/Day05.cs
@@ -3,15 +3,11 @@ namespace AOC2015;
///
/// Day 5:
///
-public sealed partial class Day05 : Day
+public sealed partial class Day05() : Day(2015, 5, "Doesn't He Have Intern-Elves For This?")
{
private static readonly List Vowels = new() { 'a', 'e', 'i', 'o', 'u' };
private List _strings = new();
- public Day05() : base(2015, 5, "Doesn't He Have Intern-Elves For This?")
- {
- }
-
[GeneratedRegex(@"(.)\1")]
private static partial Regex DoubleLetter();
diff --git a/AOC2015/Day06.cs b/AOC2015/Day06.cs
index 4dc3677..677b80f 100644
--- a/AOC2015/Day06.cs
+++ b/AOC2015/Day06.cs
@@ -3,15 +3,11 @@ namespace AOC2015;
///
/// Day 6:
///
-public sealed partial class Day06 : Day
+public sealed partial class Day06() : Day(2015, 6, "Probably a Fire Hazard")
{
private readonly Dictionary<(int x, int y), int> _brightnessGrid = new();
private readonly Dictionary<(int x, int y), bool> _lightGrid = new();
- public Day06() : base(2015, 6, "Probably a Fire Hazard")
- {
- }
-
[GeneratedRegex(@"(\d+),(\d+) through (\d+),(\d+)")]
private static partial Regex Coords();
diff --git a/AOC2015/Day07.cs b/AOC2015/Day07.cs
index 548db20..4e7cd4e 100644
--- a/AOC2015/Day07.cs
+++ b/AOC2015/Day07.cs
@@ -3,15 +3,11 @@ namespace AOC2015;
///
/// Day 7:
///
-public sealed class Day07 : Day
+public sealed class Day07() : Day(2015, 7, "Some Assembly Required")
{
private readonly Dictionary> _actions = new();
private readonly Dictionary _wires = new();
- public Day07() : base(2015, 7, "Some Assembly Required")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2015/Day08.cs b/AOC2015/Day08.cs
index ff7c7db..28851e8 100644
--- a/AOC2015/Day08.cs
+++ b/AOC2015/Day08.cs
@@ -3,21 +3,17 @@ namespace AOC2015;
///
/// Day 8:
///
-public sealed partial class Day08 : Day
+public sealed partial class Day08() : Day(2015, 8, "Matchsticks")
{
- public Day08() : base(2015, 8, "Matchsticks")
- {
- }
-
- [GeneratedRegex(@"^""(\\x..|\\.|.)*""$")]
+ [GeneratedRegex("""^"(\\x..|\\.|.)*"$""")]
private static partial Regex CharSet();
public override void ProcessInput()
{
}
- int CharCount(string arg) => CharSet().Match(arg).Groups[1].Captures.Count;
- int EncodedCount(string arg) => 2 + arg.Sum(c => c is '\\' or '\"' ? 2 : 1);
+ private static int CharCount(string arg) => CharSet().Match(arg).Groups[1].Captures.Count;
+ private static int EncodedCount(string arg) => 2 + arg.Sum(c => c is '\\' or '\"' ? 2 : 1);
public override object Part1() => Input.Sum(line => line.Length) - Input.Sum(CharCount);
diff --git a/AOC2015/Day09.cs b/AOC2015/Day09.cs
index be9696b..ceb2039 100644
--- a/AOC2015/Day09.cs
+++ b/AOC2015/Day09.cs
@@ -3,15 +3,11 @@ namespace AOC2015;
///
/// Day 9:
///
-public sealed class Day09 : Day
+public sealed class Day09() : Day(2015, 9, "All in a Single Night")
{
private readonly List _distances = new();
private int _shortest = int.MaxValue, _longest;
- public Day09() : base(2015, 9, "All in a Single Night")
- {
- }
-
public override void ProcessInput()
{
foreach (var split in Input.Select(line => line.Split(' ')))
diff --git a/AOC2015/Day10.cs b/AOC2015/Day10.cs
index 6e669ef..e2c8f7b 100644
--- a/AOC2015/Day10.cs
+++ b/AOC2015/Day10.cs
@@ -3,14 +3,10 @@ namespace AOC2015;
///
/// Day 10:
///
-public sealed class Day10 : Day
+public sealed class Day10() : Day(2015, 10, "Elves Look, Elves Say")
{
private string? _seed;
- public Day10() : base(2015, 10, "Elves Look, Elves Say")
- {
- }
-
public override void ProcessInput()
{
_seed = Input.First();
diff --git a/AOC2015/Day11.cs b/AOC2015/Day11.cs
index 7784102..2ffbd85 100644
--- a/AOC2015/Day11.cs
+++ b/AOC2015/Day11.cs
@@ -3,14 +3,10 @@ namespace AOC2015;
///
/// Day 11:
///
-public sealed class Day11 : Day
+public sealed class Day11() : Day(2015, 11, "Corporate Policy")
{
private char[]? _password;
- public Day11() : base(2015, 11, "Corporate Policy")
- {
- }
-
public override void ProcessInput()
{
_password = Input.First().ToCharArray();
diff --git a/AOC2015/Day12.cs b/AOC2015/Day12.cs
index d61e1a8..fc2ac80 100644
--- a/AOC2015/Day12.cs
+++ b/AOC2015/Day12.cs
@@ -6,12 +6,8 @@ namespace AOC2015;
///
/// Day 12:
///
-public sealed partial class Day12 : Day
+public sealed partial class Day12() : Day(2015, 12, "JSAbacusFramework.io")
{
- public Day12() : base(2015, 12, "JSAbacusFramework.io")
- {
- }
-
[GeneratedRegex(@"-?\d+")]
private static partial Regex Digits();
diff --git a/AOC2015/Day13.cs b/AOC2015/Day13.cs
index a5f7df1..e4783d4 100644
--- a/AOC2015/Day13.cs
+++ b/AOC2015/Day13.cs
@@ -5,25 +5,17 @@ namespace AOC2015;
///
/// Day 13:
///
-public sealed class Day13 : Day
+public sealed class Day13() : Day(2015, 13, "Knights of the Dinner Table")
{
private readonly Dictionary<(string person1, string person2), int> _happinessMap = new();
private readonly List _people = new();
- public Day13() : base(2015, 13, "Knights of the Dinner Table")
- {
- }
-
public override void ProcessInput()
{
- foreach (var line in Input)
- AddToHappinessMap(line);
+ foreach (var line in Input) AddToHappinessMap(line);
}
- public override object Part1()
- {
- return ComputeHappiness();
- }
+ public override object Part1() => ComputeHappiness();
public override object Part2()
{
@@ -68,7 +60,7 @@ public sealed class Day13 : Day
return new() { items };
}
- public long ComputeHappiness()
+ private long ComputeHappiness()
{
var possibilities = BuildPermutations(_people);
diff --git a/AOC2015/Day14.cs b/AOC2015/Day14.cs
index 8cca5a8..bea2141 100644
--- a/AOC2015/Day14.cs
+++ b/AOC2015/Day14.cs
@@ -3,14 +3,10 @@ namespace AOC2015;
///
/// Day 14:
///
-public sealed class Day14 : Day
+public sealed class Day14() : Day(2015, 14, "Reindeer Olympics")
{
private List? _reindeer;
- public Day14() : base(2015, 14, "Reindeer Olympics")
- {
- }
-
public override void ProcessInput()
{
_reindeer = Input.Select(i => new Reindeer(i)).ToList();
diff --git a/AOC2015/Day15.cs b/AOC2015/Day15.cs
index 29b3f9e..5a92f2f 100644
--- a/AOC2015/Day15.cs
+++ b/AOC2015/Day15.cs
@@ -3,15 +3,11 @@ namespace AOC2015;
///
/// Day 15:
///
-public sealed partial class Day15 : Day
+public sealed partial class Day15() : Day(2015, 15, "Science for Hungry People")
{
private int _best;
private int _best500Cals;
- public Day15() : base(2015, 15, "Science for Hungry People")
- {
- }
-
[GeneratedRegex(@"-?\d+")]
private static partial Regex Digits();
diff --git a/AOC2015/Day16.cs b/AOC2015/Day16.cs
index d361bf9..ef5e04c 100644
--- a/AOC2015/Day16.cs
+++ b/AOC2015/Day16.cs
@@ -3,12 +3,8 @@ namespace AOC2015;
///
/// Day 16:
///
-public sealed class Day16 : Day
+public sealed class Day16() : Day(2015, 16, "Aunt Sue")
{
- public Day16() : base(2015, 16, "Aunt Sue")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2015/Day17.cs b/AOC2015/Day17.cs
index 83ac83b..f0bd5d1 100644
--- a/AOC2015/Day17.cs
+++ b/AOC2015/Day17.cs
@@ -3,15 +3,11 @@ namespace AOC2015;
///
/// Day 17:
///
-public sealed class Day17 : Day
+public sealed class Day17() : Day(2015, 17, "No Such Thing as Too Much")
{
private List? _containers;
private IEnumerable>? _combinations;
- public Day17() : base(2015, 17, "No Such Thing as Too Much")
- {
- }
-
public override void ProcessInput()
{
_containers = Input.Select(int.Parse).ToList();
diff --git a/AOC2015/Day19.cs b/AOC2015/Day19.cs
index d600c3f..21a1f1b 100644
--- a/AOC2015/Day19.cs
+++ b/AOC2015/Day19.cs
@@ -3,12 +3,8 @@ namespace AOC2015;
///
/// Day 19:
///
-public sealed class Day19 : Day
+public sealed class Day19() : Day(2015, 19, "Medicine for Rudolph")
{
- public Day19() : base(2015, 19, "Medicine for Rudolph")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2015/Day20.cs b/AOC2015/Day20.cs
index 29ba85b..43395bb 100644
--- a/AOC2015/Day20.cs
+++ b/AOC2015/Day20.cs
@@ -3,12 +3,8 @@ namespace AOC2015;
///
/// Day 20:
///
-public sealed class Day20 : Day
+public sealed class Day20() : Day(2015, 20, "Infinite Elves and Infinite Houses")
{
- public Day20() : base(2015, 20, "Infinite Elves and Infinite Houses")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2015/Day21.cs b/AOC2015/Day21.cs
index 17f44c1..e645348 100644
--- a/AOC2015/Day21.cs
+++ b/AOC2015/Day21.cs
@@ -3,12 +3,8 @@ namespace AOC2015;
///
/// Day 21:
///
-public sealed class Day21 : Day
+public sealed class Day21() : Day(2015, 21, "RPG Simulator 20XX")
{
- public Day21() : base(2015, 21, "RPG Simulator 20XX")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2015/Day22.cs b/AOC2015/Day22.cs
index 0edc206..89a9d30 100644
--- a/AOC2015/Day22.cs
+++ b/AOC2015/Day22.cs
@@ -3,12 +3,8 @@ namespace AOC2015;
///
/// Day 22:
///
-public sealed class Day22 : Day
+public sealed class Day22() : Day(2015, 22, "Wizard Simulator 20XX")
{
- public Day22() : base(2015, 22, "Wizard Simulator 20XX")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2015/Day23.cs b/AOC2015/Day23.cs
index f30d1c9..c0ce8cb 100644
--- a/AOC2015/Day23.cs
+++ b/AOC2015/Day23.cs
@@ -3,12 +3,8 @@ namespace AOC2015;
///
/// Day 23:
///
-public sealed class Day23 : Day
+public sealed class Day23() : Day(2015, 23, "Opening the Turing Lock")
{
- public Day23() : base(2015, 23, "Opening the Turing Lock")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2015/Day24.cs b/AOC2015/Day24.cs
index 0c6c8ad..1ad27c0 100644
--- a/AOC2015/Day24.cs
+++ b/AOC2015/Day24.cs
@@ -3,12 +3,8 @@ namespace AOC2015;
///
/// Day 24:
///
-public sealed class Day24 : Day
+public sealed class Day24() : Day(2015, 24, "It Hangs in the Balance")
{
- public Day24() : base(2015, 24, "It Hangs in the Balance")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2015/Day25.cs b/AOC2015/Day25.cs
index 6a6f778..54785b8 100644
--- a/AOC2015/Day25.cs
+++ b/AOC2015/Day25.cs
@@ -3,12 +3,8 @@ namespace AOC2015;
///
/// Day 25:
///
-public sealed class Day25 : Day
+public sealed class Day25() : Day(2015, 25, "Let It Snow")
{
- public Day25() : base(2015, 25, "Let It Snow")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day01.cs b/AOC2016/Day01.cs
index 5207ba8..671164e 100644
--- a/AOC2016/Day01.cs
+++ b/AOC2016/Day01.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 1:
///
-public sealed class Day01 : Day
+public sealed class Day01() : Day(2016, 1, "Puzzle Name")
{
- public Day01() : base(2016, 1, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day02.cs b/AOC2016/Day02.cs
index be784c8..174fe3c 100644
--- a/AOC2016/Day02.cs
+++ b/AOC2016/Day02.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 2:
///
-public sealed class Day02 : Day
+public sealed class Day02() : Day(2016, 2, "Puzzle Name")
{
- public Day02() : base(2016, 2, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day03.cs b/AOC2016/Day03.cs
index fd6a537..cafb414 100644
--- a/AOC2016/Day03.cs
+++ b/AOC2016/Day03.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 3:
///
-public sealed class Day03 : Day
+public sealed class Day03() : Day(2016, 3, "Puzzle Name")
{
- public Day03() : base(2016, 3, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day04.cs b/AOC2016/Day04.cs
index 2585cc2..066d29c 100644
--- a/AOC2016/Day04.cs
+++ b/AOC2016/Day04.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 4:
///
-public sealed class Day04 : Day
+public sealed class Day04() : Day(2016, 4, "Puzzle Name")
{
- public Day04() : base(2016, 4, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day05.cs b/AOC2016/Day05.cs
index 216776a..337f8ae 100644
--- a/AOC2016/Day05.cs
+++ b/AOC2016/Day05.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 5:
///
-public sealed class Day05 : Day
+public sealed class Day05() : Day(2016, 5, "Puzzle Name")
{
- public Day05() : base(2016, 5, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day06.cs b/AOC2016/Day06.cs
index 24c08b9..7284491 100644
--- a/AOC2016/Day06.cs
+++ b/AOC2016/Day06.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 6:
///
-public sealed class Day06 : Day
+public sealed class Day06() : Day(2016, 6, "Puzzle Name")
{
- public Day06() : base(2016, 6, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day07.cs b/AOC2016/Day07.cs
index 115d8e8..f7f40a5 100644
--- a/AOC2016/Day07.cs
+++ b/AOC2016/Day07.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 7:
///
-public sealed class Day07 : Day
+public sealed class Day07() : Day(2016, 7, "Puzzle Name")
{
- public Day07() : base(2016, 7, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day08.cs b/AOC2016/Day08.cs
index 3e83364..a1cb197 100644
--- a/AOC2016/Day08.cs
+++ b/AOC2016/Day08.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 8:
///
-public sealed class Day08 : Day
+public sealed class Day08() : Day(2016, 8, "Puzzle Name")
{
- public Day08() : base(2016, 8, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day09.cs b/AOC2016/Day09.cs
index f4f471e..8ce2006 100644
--- a/AOC2016/Day09.cs
+++ b/AOC2016/Day09.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 9:
///
-public sealed class Day09 : Day
+public sealed class Day09() : Day(2016, 9, "Puzzle Name")
{
- public Day09() : base(2016, 9, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day10.cs b/AOC2016/Day10.cs
index 3cb11e6..389e61a 100644
--- a/AOC2016/Day10.cs
+++ b/AOC2016/Day10.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 10:
///
-public sealed class Day10 : Day
+public sealed class Day10() : Day(2016, 10, "Puzzle Name")
{
- public Day10() : base(2016, 10, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day11.cs b/AOC2016/Day11.cs
index 08aa3a8..6cc0349 100644
--- a/AOC2016/Day11.cs
+++ b/AOC2016/Day11.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 11:
///
-public sealed class Day11 : Day
+public sealed class Day11() : Day(2016, 11, "Puzzle Name")
{
- public Day11() : base(2016, 11, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day12.cs b/AOC2016/Day12.cs
index d32f626..8f54020 100644
--- a/AOC2016/Day12.cs
+++ b/AOC2016/Day12.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 12:
///
-public sealed class Day12 : Day
+public sealed class Day12() : Day(2016, 12, "Puzzle Name")
{
- public Day12() : base(2016, 12, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day13.cs b/AOC2016/Day13.cs
index b47ab83..823dbf7 100644
--- a/AOC2016/Day13.cs
+++ b/AOC2016/Day13.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 13:
///
-public sealed class Day13 : Day
+public sealed class Day13() : Day(2016, 13, "Puzzle Name")
{
- public Day13() : base(2016, 13, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day14.cs b/AOC2016/Day14.cs
index 1b2f370..bad147c 100644
--- a/AOC2016/Day14.cs
+++ b/AOC2016/Day14.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 14:
///
-public sealed class Day14 : Day
+public sealed class Day14() : Day(2016, 14, "Puzzle Name")
{
- public Day14() : base(2016, 14, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day15.cs b/AOC2016/Day15.cs
index 848eb89..33a7b77 100644
--- a/AOC2016/Day15.cs
+++ b/AOC2016/Day15.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 15:
///
-public sealed class Day15 : Day
+public sealed class Day15() : Day(2016, 15, "Puzzle Name")
{
- public Day15() : base(2016, 15, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day16.cs b/AOC2016/Day16.cs
index 327a08e..b668150 100644
--- a/AOC2016/Day16.cs
+++ b/AOC2016/Day16.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 16:
///
-public sealed class Day16 : Day
+public sealed class Day16() : Day(2016, 16, "Puzzle Name")
{
- public Day16() : base(2016, 16, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day17.cs b/AOC2016/Day17.cs
index 3dbfdde..849d3bb 100644
--- a/AOC2016/Day17.cs
+++ b/AOC2016/Day17.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 17:
///
-public sealed class Day17 : Day
+public sealed class Day17() : Day(2016, 17, "Puzzle Name")
{
- public Day17() : base(2016, 17, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day18.cs b/AOC2016/Day18.cs
index 920d7aa..2f069b2 100644
--- a/AOC2016/Day18.cs
+++ b/AOC2016/Day18.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 18:
///
-public sealed class Day18 : Day
+public sealed class Day18() : Day(2016, 18, "Puzzle Name")
{
- public Day18() : base(2016, 18, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day19.cs b/AOC2016/Day19.cs
index 04038db..87ac6aa 100644
--- a/AOC2016/Day19.cs
+++ b/AOC2016/Day19.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 19:
///
-public sealed class Day19 : Day
+public sealed class Day19() : Day(2016, 19, "Puzzle Name")
{
- public Day19() : base(2016, 19, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day20.cs b/AOC2016/Day20.cs
index 4799aec..98c89be 100644
--- a/AOC2016/Day20.cs
+++ b/AOC2016/Day20.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 20:
///
-public sealed class Day20 : Day
+public sealed class Day20() : Day(2016, 20, "Puzzle Name")
{
- public Day20() : base(2016, 20, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day21.cs b/AOC2016/Day21.cs
index cf0427b..c62a5e3 100644
--- a/AOC2016/Day21.cs
+++ b/AOC2016/Day21.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 21:
///
-public sealed class Day21 : Day
+public sealed class Day21() : Day(2016, 21, "Puzzle Name")
{
- public Day21() : base(2016, 21, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day22.cs b/AOC2016/Day22.cs
index 5adc5e8..cd0cd59 100644
--- a/AOC2016/Day22.cs
+++ b/AOC2016/Day22.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 22:
///
-public sealed class Day22 : Day
+public sealed class Day22() : Day(2016, 22, "Puzzle Name")
{
- public Day22() : base(2016, 22, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day23.cs b/AOC2016/Day23.cs
index d9bbae0..e91c707 100644
--- a/AOC2016/Day23.cs
+++ b/AOC2016/Day23.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 23:
///
-public sealed class Day23 : Day
+public sealed class Day23() : Day(2016, 23, "Puzzle Name")
{
- public Day23() : base(2016, 23, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day24.cs b/AOC2016/Day24.cs
index 533d8f9..1af97c3 100644
--- a/AOC2016/Day24.cs
+++ b/AOC2016/Day24.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 24:
///
-public sealed class Day24 : Day
+public sealed class Day24() : Day(2016, 24, "Puzzle Name")
{
- public Day24() : base(2016, 24, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2016/Day25.cs b/AOC2016/Day25.cs
index d1a25e4..4374cac 100644
--- a/AOC2016/Day25.cs
+++ b/AOC2016/Day25.cs
@@ -3,12 +3,8 @@ namespace AOC2016;
///
/// Day 25:
///
-public sealed class Day25 : Day
+public sealed class Day25() : Day(2016, 25, "Puzzle Name")
{
- public Day25() : base(2016, 25, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day01.cs b/AOC2017/Day01.cs
index aad889e..6a7c231 100644
--- a/AOC2017/Day01.cs
+++ b/AOC2017/Day01.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 1:
///
-public sealed class Day01 : Day
+public sealed class Day01() : Day(2017, 1, "Puzzle Name")
{
- public Day01() : base(2017, 1, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day02.cs b/AOC2017/Day02.cs
index 0b1ad79..1ef16f9 100644
--- a/AOC2017/Day02.cs
+++ b/AOC2017/Day02.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 2:
///
-public sealed class Day02 : Day
+public sealed class Day02() : Day(2017, 2, "Puzzle Name")
{
- public Day02() : base(2017, 2, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day03.cs b/AOC2017/Day03.cs
index b0c9b50..dcc7c2e 100644
--- a/AOC2017/Day03.cs
+++ b/AOC2017/Day03.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 3:
///
-public sealed class Day03 : Day
+public sealed class Day03() : Day(2017, 3, "Puzzle Name")
{
- public Day03() : base(2017, 3, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day04.cs b/AOC2017/Day04.cs
index d9b32b0..0280269 100644
--- a/AOC2017/Day04.cs
+++ b/AOC2017/Day04.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 4:
///
-public sealed class Day04 : Day
+public sealed class Day04() : Day(2017, 4, "Puzzle Name")
{
- public Day04() : base(2017, 4, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day05.cs b/AOC2017/Day05.cs
index fc5133a..4575d34 100644
--- a/AOC2017/Day05.cs
+++ b/AOC2017/Day05.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 5:
///
-public sealed class Day05 : Day
+public sealed class Day05() : Day(2017, 5, "Puzzle Name")
{
- public Day05() : base(2017, 5, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day06.cs b/AOC2017/Day06.cs
index 9797143..2343fc5 100644
--- a/AOC2017/Day06.cs
+++ b/AOC2017/Day06.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 6:
///
-public sealed class Day06 : Day
+public sealed class Day06() : Day(2017, 6, "Puzzle Name")
{
- public Day06() : base(2017, 6, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day07.cs b/AOC2017/Day07.cs
index 651d2ef..78fd805 100644
--- a/AOC2017/Day07.cs
+++ b/AOC2017/Day07.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 7:
///
-public sealed class Day07 : Day
+public sealed class Day07() : Day(2017, 7, "Puzzle Name")
{
- public Day07() : base(2017, 7, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day08.cs b/AOC2017/Day08.cs
index 82f123b..a47dff5 100644
--- a/AOC2017/Day08.cs
+++ b/AOC2017/Day08.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 8:
///
-public sealed class Day08 : Day
+public sealed class Day08() : Day(2017, 8, "Puzzle Name")
{
- public Day08() : base(2017, 8, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day09.cs b/AOC2017/Day09.cs
index 3bfcef0..40fa67c 100644
--- a/AOC2017/Day09.cs
+++ b/AOC2017/Day09.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 9:
///
-public sealed class Day09 : Day
+public sealed class Day09() : Day(2017, 9, "Puzzle Name")
{
- public Day09() : base(2017, 9, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day10.cs b/AOC2017/Day10.cs
index 067f1de..c683b56 100644
--- a/AOC2017/Day10.cs
+++ b/AOC2017/Day10.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 10:
///
-public sealed class Day10 : Day
+public sealed class Day10() : Day(2017, 10, "Puzzle Name")
{
- public Day10() : base(2017, 10, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day11.cs b/AOC2017/Day11.cs
index 972fcee..10f0ff5 100644
--- a/AOC2017/Day11.cs
+++ b/AOC2017/Day11.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 11:
///
-public sealed class Day11 : Day
+public sealed class Day11() : Day(2017, 11, "Puzzle Name")
{
- public Day11() : base(2017, 11, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day12.cs b/AOC2017/Day12.cs
index 9a2b498..0f1fb21 100644
--- a/AOC2017/Day12.cs
+++ b/AOC2017/Day12.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 12:
///
-public sealed class Day12 : Day
+public sealed class Day12() : Day(2017, 12, "Puzzle Name")
{
- public Day12() : base(2017, 12, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day13.cs b/AOC2017/Day13.cs
index 84a6cc1..462e20b 100644
--- a/AOC2017/Day13.cs
+++ b/AOC2017/Day13.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 13:
///
-public sealed class Day13 : Day
+public sealed class Day13() : Day(2017, 13, "Puzzle Name")
{
- public Day13() : base(2017, 13, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day14.cs b/AOC2017/Day14.cs
index 3c75a61..07b021f 100644
--- a/AOC2017/Day14.cs
+++ b/AOC2017/Day14.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 14:
///
-public sealed class Day14 : Day
+public sealed class Day14() : Day(2017, 14, "Puzzle Name")
{
- public Day14() : base(2017, 14, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day15.cs b/AOC2017/Day15.cs
index b646e1d..bfb9019 100644
--- a/AOC2017/Day15.cs
+++ b/AOC2017/Day15.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 15:
///
-public sealed class Day15 : Day
+public sealed class Day15() : Day(2017, 15, "Puzzle Name")
{
- public Day15() : base(2017, 15, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day16.cs b/AOC2017/Day16.cs
index 4f00665..cb23b9b 100644
--- a/AOC2017/Day16.cs
+++ b/AOC2017/Day16.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 16:
///
-public sealed class Day16 : Day
+public sealed class Day16() : Day(2017, 16, "Puzzle Name")
{
- public Day16() : base(2017, 16, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day17.cs b/AOC2017/Day17.cs
index bd4a812..9354c27 100644
--- a/AOC2017/Day17.cs
+++ b/AOC2017/Day17.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 17:
///
-public sealed class Day17 : Day
+public sealed class Day17() : Day(2017, 17, "Puzzle Name")
{
- public Day17() : base(2017, 17, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day18.cs b/AOC2017/Day18.cs
index 54eaa27..2c500fd 100644
--- a/AOC2017/Day18.cs
+++ b/AOC2017/Day18.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 18:
///
-public sealed class Day18 : Day
+public sealed class Day18() : Day(2017, 18, "Puzzle Name")
{
- public Day18() : base(2017, 18, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day19.cs b/AOC2017/Day19.cs
index 7a685b8..7b54941 100644
--- a/AOC2017/Day19.cs
+++ b/AOC2017/Day19.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 19:
///
-public sealed class Day19 : Day
+public sealed class Day19() : Day(2017, 19, "Puzzle Name")
{
- public Day19() : base(2017, 19, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day20.cs b/AOC2017/Day20.cs
index 1c66fe9..96bbae5 100644
--- a/AOC2017/Day20.cs
+++ b/AOC2017/Day20.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 20:
///
-public sealed class Day20 : Day
+public sealed class Day20() : Day(2017, 20, "Puzzle Name")
{
- public Day20() : base(2017, 20, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day21.cs b/AOC2017/Day21.cs
index e8b35ad..0b1c6bc 100644
--- a/AOC2017/Day21.cs
+++ b/AOC2017/Day21.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 21:
///
-public sealed class Day21 : Day
+public sealed class Day21() : Day(2017, 21, "Puzzle Name")
{
- public Day21() : base(2017, 21, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day22.cs b/AOC2017/Day22.cs
index 997c0a6..975dfb8 100644
--- a/AOC2017/Day22.cs
+++ b/AOC2017/Day22.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 22:
///
-public sealed class Day22 : Day
+public sealed class Day22() : Day(2017, 22, "Puzzle Name")
{
- public Day22() : base(2017, 22, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day23.cs b/AOC2017/Day23.cs
index 4032c1a..c127e46 100644
--- a/AOC2017/Day23.cs
+++ b/AOC2017/Day23.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 23:
///
-public sealed class Day23 : Day
+public sealed class Day23() : Day(2017, 23, "Puzzle Name")
{
- public Day23() : base(2017, 23, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day24.cs b/AOC2017/Day24.cs
index feb23fa..a31dada 100644
--- a/AOC2017/Day24.cs
+++ b/AOC2017/Day24.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 24:
///
-public sealed class Day24 : Day
+public sealed class Day24() : Day(2017, 24, "Puzzle Name")
{
- public Day24() : base(2017, 24, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2017/Day25.cs b/AOC2017/Day25.cs
index c4cf67e..b7c0d48 100644
--- a/AOC2017/Day25.cs
+++ b/AOC2017/Day25.cs
@@ -3,12 +3,8 @@ namespace AOC2017;
///
/// Day 25:
///
-public sealed class Day25 : Day
+public sealed class Day25() : Day(2017, 25, "Puzzle Name")
{
- public Day25() : base(2017, 25, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day01.cs b/AOC2018/Day01.cs
index b0981d1..5a53abe 100644
--- a/AOC2018/Day01.cs
+++ b/AOC2018/Day01.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 1:
///
-public sealed class Day01 : Day
+public sealed class Day01() : Day(2018, 1, "Chronal Calibration")
{
- public Day01() : base(2018, 1, "Chronal Calibration")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day02.cs b/AOC2018/Day02.cs
index 319c7b1..24901b7 100644
--- a/AOC2018/Day02.cs
+++ b/AOC2018/Day02.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 2:
///
-public sealed class Day02 : Day
+public sealed class Day02() : Day(2018, 2, "Inventory Management System")
{
- public Day02() : base(2018, 2, "Inventory Management System")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day03.cs b/AOC2018/Day03.cs
index c130e77..54e0f4e 100644
--- a/AOC2018/Day03.cs
+++ b/AOC2018/Day03.cs
@@ -3,15 +3,11 @@ namespace AOC2018;
///
/// Day 3:
///
-public sealed partial class Day03 : Day
+public sealed partial class Day03() : Day(2018, 3, "No Matter How You Slice It")
{
private List? _claims;
private readonly Dictionary<(int x, int y), List> _plots = new();
- public Day03() : base(2018, 3, "No Matter How You Slice It")
- {
- }
-
[GeneratedRegex(@"\d+")]
private static partial Regex Digits();
diff --git a/AOC2018/Day04.cs b/AOC2018/Day04.cs
index f5bfc6b..457a87d 100644
--- a/AOC2018/Day04.cs
+++ b/AOC2018/Day04.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 4:
///
-public sealed class Day04 : Day
+public sealed class Day04() : Day(2018, 4, "Puzzle Name")
{
- public Day04() : base(2018, 4, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day05.cs b/AOC2018/Day05.cs
index a2ede6e..e246b69 100644
--- a/AOC2018/Day05.cs
+++ b/AOC2018/Day05.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 5:
///
-public sealed class Day05 : Day
+public sealed class Day05() : Day(2018, 5, "Puzzle Name")
{
- public Day05() : base(2018, 5, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day06.cs b/AOC2018/Day06.cs
index b67ff07..51c1c4a 100644
--- a/AOC2018/Day06.cs
+++ b/AOC2018/Day06.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 6:
///
-public sealed class Day06 : Day
+public sealed class Day06() : Day(2018, 6, "Puzzle Name")
{
- public Day06() : base(2018, 6, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day07.cs b/AOC2018/Day07.cs
index 2efd4b6..3b7962d 100644
--- a/AOC2018/Day07.cs
+++ b/AOC2018/Day07.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 7:
///
-public sealed class Day07 : Day
+public sealed class Day07() : Day(2018, 7, "Puzzle Name")
{
- public Day07() : base(2018, 7, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day08.cs b/AOC2018/Day08.cs
index b5cb494..4e02751 100644
--- a/AOC2018/Day08.cs
+++ b/AOC2018/Day08.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 8:
///
-public sealed class Day08 : Day
+public sealed class Day08() : Day(2018, 8, "Puzzle Name")
{
- public Day08() : base(2018, 8, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day09.cs b/AOC2018/Day09.cs
index fffc8b4..e7fac5a 100644
--- a/AOC2018/Day09.cs
+++ b/AOC2018/Day09.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 9:
///
-public sealed class Day09 : Day
+public sealed class Day09() : Day(2018, 9, "Puzzle Name")
{
- public Day09() : base(2018, 9, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day10.cs b/AOC2018/Day10.cs
index 2fdac05..44d3cfe 100644
--- a/AOC2018/Day10.cs
+++ b/AOC2018/Day10.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 10:
///
-public sealed class Day10 : Day
+public sealed class Day10() : Day(2018, 10, "Puzzle Name")
{
- public Day10() : base(2018, 10, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day11.cs b/AOC2018/Day11.cs
index d2869c5..f120efb 100644
--- a/AOC2018/Day11.cs
+++ b/AOC2018/Day11.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 11:
///
-public sealed class Day11 : Day
+public sealed class Day11() : Day(2018, 11, "Puzzle Name")
{
- public Day11() : base(2018, 11, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day12.cs b/AOC2018/Day12.cs
index 1556693..4da985b 100644
--- a/AOC2018/Day12.cs
+++ b/AOC2018/Day12.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 12:
///
-public sealed class Day12 : Day
+public sealed class Day12() : Day(2018, 12, "Puzzle Name")
{
- public Day12() : base(2018, 12, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day13.cs b/AOC2018/Day13.cs
index 69c00a2..32c2290 100644
--- a/AOC2018/Day13.cs
+++ b/AOC2018/Day13.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 13:
///
-public sealed class Day13 : Day
+public sealed class Day13() : Day(2018, 13, "Puzzle Name")
{
- public Day13() : base(2018, 13, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day14.cs b/AOC2018/Day14.cs
index dcf173d..193f3cd 100644
--- a/AOC2018/Day14.cs
+++ b/AOC2018/Day14.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 14:
///
-public sealed class Day14 : Day
+public sealed class Day14() : Day(2018, 14, "Puzzle Name")
{
- public Day14() : base(2018, 14, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day15.cs b/AOC2018/Day15.cs
index fc0f59a..fcfec09 100644
--- a/AOC2018/Day15.cs
+++ b/AOC2018/Day15.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 15:
///
-public sealed class Day15 : Day
+public sealed class Day15() : Day(2018, 15, "Puzzle Name")
{
- public Day15() : base(2018, 15, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day16.cs b/AOC2018/Day16.cs
index 705cfa9..4a9c425 100644
--- a/AOC2018/Day16.cs
+++ b/AOC2018/Day16.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 16:
///
-public sealed class Day16 : Day
+public sealed class Day16() : Day(2018, 16, "Puzzle Name")
{
- public Day16() : base(2018, 16, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day17.cs b/AOC2018/Day17.cs
index 9f9e35a..4b9238e 100644
--- a/AOC2018/Day17.cs
+++ b/AOC2018/Day17.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 17:
///
-public sealed class Day17 : Day
+public sealed class Day17() : Day(2018, 17, "Puzzle Name")
{
- public Day17() : base(2018, 17, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day18.cs b/AOC2018/Day18.cs
index 8296881..d0bdcc4 100644
--- a/AOC2018/Day18.cs
+++ b/AOC2018/Day18.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 18:
///
-public sealed class Day18 : Day
+public sealed class Day18() : Day(2018, 18, "Puzzle Name")
{
- public Day18() : base(2018, 18, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day19.cs b/AOC2018/Day19.cs
index 89659a3..a48c2f1 100644
--- a/AOC2018/Day19.cs
+++ b/AOC2018/Day19.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 19:
///
-public sealed class Day19 : Day
+public sealed class Day19() : Day(2018, 19, "Puzzle Name")
{
- public Day19() : base(2018, 19, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day20.cs b/AOC2018/Day20.cs
index d531376..7372564 100644
--- a/AOC2018/Day20.cs
+++ b/AOC2018/Day20.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 20:
///
-public sealed class Day20 : Day
+public sealed class Day20() : Day(2018, 20, "Puzzle Name")
{
- public Day20() : base(2018, 20, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day21.cs b/AOC2018/Day21.cs
index 3269319..aa411e9 100644
--- a/AOC2018/Day21.cs
+++ b/AOC2018/Day21.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 21:
///
-public sealed class Day21 : Day
+public sealed class Day21() : Day(2018, 21, "Puzzle Name")
{
- public Day21() : base(2018, 21, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day22.cs b/AOC2018/Day22.cs
index 6c13a45..74a103d 100644
--- a/AOC2018/Day22.cs
+++ b/AOC2018/Day22.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 22:
///
-public sealed class Day22 : Day
+public sealed class Day22() : Day(2018, 22, "Puzzle Name")
{
- public Day22() : base(2018, 22, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day23.cs b/AOC2018/Day23.cs
index c0b49bd..8652d67 100644
--- a/AOC2018/Day23.cs
+++ b/AOC2018/Day23.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 23:
///
-public sealed class Day23 : Day
+public sealed class Day23() : Day(2018, 23, "Puzzle Name")
{
- public Day23() : base(2018, 23, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day24.cs b/AOC2018/Day24.cs
index 18cd3a6..5ae89ee 100644
--- a/AOC2018/Day24.cs
+++ b/AOC2018/Day24.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 24:
///
-public sealed class Day24 : Day
+public sealed class Day24() : Day(2018, 24, "Puzzle Name")
{
- public Day24() : base(2018, 24, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2018/Day25.cs b/AOC2018/Day25.cs
index 2912111..db2e25f 100644
--- a/AOC2018/Day25.cs
+++ b/AOC2018/Day25.cs
@@ -3,12 +3,8 @@ namespace AOC2018;
///
/// Day 25:
///
-public sealed class Day25 : Day
+public sealed class Day25() : Day(2018, 25, "Puzzle Name")
{
- public Day25() : base(2018, 25, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2019/Day01.cs b/AOC2019/Day01.cs
index 9b0520c..5501842 100644
--- a/AOC2019/Day01.cs
+++ b/AOC2019/Day01.cs
@@ -1,13 +1,9 @@
namespace AOC2019;
-public sealed class Day01 : Day
+public sealed class Day01() : Day(2019, 1, "The Tyranny of the Rocket Equation")
{
private IEnumerable? _masses;
- public Day01() : base(2019, 1, "The Tyranny of the Rocket Equation")
- {
- }
-
public override void ProcessInput()
{
_masses = Input.Select(int.Parse);
diff --git a/AOC2019/Day02.cs b/AOC2019/Day02.cs
index 8fb9b57..1151fe9 100644
--- a/AOC2019/Day02.cs
+++ b/AOC2019/Day02.cs
@@ -1,13 +1,9 @@
namespace AOC2019;
-public sealed class Day02 : Day
+public sealed class Day02() : Day(2019, 2, "1202 Program Alarm")
{
private IEnumerable? _input;
- public Day02() : base(2019, 2, "1202 Program Alarm")
- {
- }
-
public override void ProcessInput()
{
_input = Input.First().Split(',').Select(int.Parse);
diff --git a/AOC2019/Day03.cs b/AOC2019/Day03.cs
index 4cc3bf3..764c812 100644
--- a/AOC2019/Day03.cs
+++ b/AOC2019/Day03.cs
@@ -1,14 +1,10 @@
namespace AOC2019;
-public sealed class Day03 : Day
+public sealed class Day03() : Day(2019, 3, "Crossed Wires")
{
private IEnumerable<(int, int)>? _intersections;
private List>? _wires;
- public Day03() : base(2019, 3, "Crossed Wires")
- {
- }
-
public override void ProcessInput()
{
_wires = Input.Select(ParseWire).ToList();
diff --git a/AOC2019/Day04.cs b/AOC2019/Day04.cs
index 193f12f..aa61dc4 100644
--- a/AOC2019/Day04.cs
+++ b/AOC2019/Day04.cs
@@ -1,13 +1,9 @@
namespace AOC2019;
-public sealed class Day04 : Day
+public sealed class Day04() : Day(2019, 4, "Secure Container")
{
private int _start, _end;
- public Day04() : base(2019, 4, "Secure Container")
- {
- }
-
public override void ProcessInput()
{
var range = Input.First().Split('-').Select(int.Parse).ToList();
diff --git a/AOC2019/Day05.cs b/AOC2019/Day05.cs
index 9e94f45..52270b6 100644
--- a/AOC2019/Day05.cs
+++ b/AOC2019/Day05.cs
@@ -1,14 +1,10 @@
namespace AOC2019;
-public sealed class Day05 : Day
+public sealed class Day05() : Day(2019, 5, "Sunny with a Chance of Asteroids")
{
private IEnumerable? _tape;
private int _output;
- public Day05() : base(2019, 5, "Sunny with a Chance of Asteroids")
- {
- }
-
public override void ProcessInput()
{
_tape = Input.First().Split(',').Select(int.Parse);
diff --git a/AOC2019/Day06.cs b/AOC2019/Day06.cs
index 5fcd28e..49114f8 100644
--- a/AOC2019/Day06.cs
+++ b/AOC2019/Day06.cs
@@ -1,13 +1,9 @@
namespace AOC2019;
-public sealed class Day06 : Day
+public sealed class Day06() : Day(2019, 6, "Universal Orbit Map")
{
private Dictionary? _input;
- public Day06() : base(2019, 6, "Universal Orbit Map")
- {
- }
-
public override void ProcessInput()
{
_input = Input.ToDictionary(i => i.Split(')')[1], i => i.Split(')')[0]);
diff --git a/AOC2019/Day07.cs b/AOC2019/Day07.cs
index c0fc484..9dada3c 100644
--- a/AOC2019/Day07.cs
+++ b/AOC2019/Day07.cs
@@ -1,13 +1,9 @@
namespace AOC2019;
-public sealed class Day07 : Day
+public sealed class Day07() : Day(2019, 7, "Amplification Circuit")
{
private readonly IntCodeVM[] _amplifiers = new IntCodeVM[5];
- public Day07() : base(2019, 7, "Amplification Circuit")
- {
- }
-
public override void ProcessInput()
{
for (var i = 0; i < 5; i++) _amplifiers[i] = new(Input.First());
diff --git a/AOC2019/Day08.cs b/AOC2019/Day08.cs
index 5ca049a..7f72792 100644
--- a/AOC2019/Day08.cs
+++ b/AOC2019/Day08.cs
@@ -1,13 +1,9 @@
namespace AOC2019;
-public sealed class Day08 : Day
+public sealed class Day08() : Day(2019, 8, "Space Image Format")
{
private List>? _photo;
- public Day08() : base(2019, 8, "Space Image Format")
- {
- }
-
public override void ProcessInput()
{
_photo = Input.First().Chunk(25 * 6).Select(s => s.ToList()).ToList();
diff --git a/AOC2019/Day09.cs b/AOC2019/Day09.cs
index b669acf..aa1b3c6 100644
--- a/AOC2019/Day09.cs
+++ b/AOC2019/Day09.cs
@@ -1,13 +1,9 @@
namespace AOC2019;
-public sealed class Day09 : Day
+public sealed class Day09() : Day(2019, 9, "Sensor Boost")
{
private IntCodeVM? _vm;
- public Day09() : base(2019, 9, "Sensor Boost")
- {
- }
-
public override void ProcessInput()
{
_vm = new(Input.First());
diff --git a/AOC2019/Day10.cs b/AOC2019/Day10.cs
index cfbbbc6..1af4614 100644
--- a/AOC2019/Day10.cs
+++ b/AOC2019/Day10.cs
@@ -1,15 +1,11 @@
namespace AOC2019;
-public sealed class Day10 : Day
+public sealed class Day10() : Day(2019, 10, "Monitoring Station")
{
private HashSet<(int x, int y)>? _asteroids;
private (int x, int y) _best = (x: -1, y: -1);
private int _bestCanSee;
- public Day10() : base(2019, 10, "Monitoring Station")
- {
- }
-
public override void ProcessInput()
{
_asteroids = Input
diff --git a/AOC2019/Day11.cs b/AOC2019/Day11.cs
index 30d7f44..28e0692 100644
--- a/AOC2019/Day11.cs
+++ b/AOC2019/Day11.cs
@@ -1,15 +1,11 @@
namespace AOC2019;
-public sealed class Day11 : Day
+public sealed class Day11() : Day(2019, 11, "Space Police")
{
private IntCodeVM? _vm;
private Direction _heading;
private long _x, _y;
- public Day11() : base(2019, 11, "Space Police")
- {
- }
-
public override void ProcessInput()
{
_vm = new(Input.First());
diff --git a/AOC2019/Day12.cs b/AOC2019/Day12.cs
index 457f870..5ab1d0a 100644
--- a/AOC2019/Day12.cs
+++ b/AOC2019/Day12.cs
@@ -1,14 +1,10 @@
namespace AOC2019;
-public sealed class Day12 : Day
+public sealed class Day12() : Day(2019, 12, "The N-Body Problem")
{
private List? _moons;
private int _step;
- public Day12() : base(2019, 12, "The N-Body Problem")
- {
- }
-
public override void ProcessInput()
{
_moons = Input
@@ -60,22 +56,11 @@ public sealed class Day12 : Day
return Util.Lcm(cycleX, Util.Lcm(cycleY, cycleZ));
}
- public class Position
+ public class Position(IList moon)
{
- private List _siblings;
- private int _x, _y, _z;
- public int Dx, Dy, Dz;
-
- public Position(IList moon)
- {
- _x = moon[0];
- _y = moon[1];
- _z = moon[2];
- Dx = 0;
- Dy = 0;
- Dz = 0;
- _siblings = new();
- }
+ private List _siblings = new();
+ private int _x = moon[0], _y = moon[1], _z = moon[2];
+ public int Dx = 0, Dy = 0, Dz = 0;
private int KineticEnergy =>
Math.Abs(_x) + Math.Abs(_y) + Math.Abs(_z);
diff --git a/AOC2019/Day13.cs b/AOC2019/Day13.cs
index 083b59a..b064afc 100644
--- a/AOC2019/Day13.cs
+++ b/AOC2019/Day13.cs
@@ -1,15 +1,11 @@
namespace AOC2019;
-public sealed class Day13 : Day
+public sealed class Day13() : Day(2019, 13, "Care Package")
{
private IntCodeVM? _vm;
private readonly Dictionary<(long x, long y), long> _board = new();
private readonly List<(long x, long y)> _updatedCoordinates = new();
- public Day13() : base(2019, 13, "Care Package")
- {
- }
-
public override void ProcessInput()
{
_vm = new(Input.First());
diff --git a/AOC2019/Day14.cs b/AOC2019/Day14.cs
index 1abc5a5..233f67c 100644
--- a/AOC2019/Day14.cs
+++ b/AOC2019/Day14.cs
@@ -1,14 +1,10 @@
namespace AOC2019;
-public sealed class Day14 : Day
+public sealed class Day14() : Day(2019, 14, "Space Stoichiometry")
{
private Dictionary? _reactions;
private Dictionary _available = new();
- public Day14() : base(2019, 14, "Space Stoichiometry")
- {
- }
-
public override void ProcessInput()
{
_reactions = Input
diff --git a/AOC2019/Day15.cs b/AOC2019/Day15.cs
index b626948..bb08166 100644
--- a/AOC2019/Day15.cs
+++ b/AOC2019/Day15.cs
@@ -1,14 +1,10 @@
namespace AOC2019;
-public sealed class Day15 : Day
+public sealed class Day15() : Day(2019, 15, "Oxygen System")
{
private readonly bool _verbose = false;
private IntCodeVM? _vm;
- public Day15() : base(2019, 15, "Oxygen System")
- {
- }
-
public override void ProcessInput()
{
_vm = new(Input.First());
diff --git a/AOC2019/Day16.cs b/AOC2019/Day16.cs
index 45980a3..9071ceb 100644
--- a/AOC2019/Day16.cs
+++ b/AOC2019/Day16.cs
@@ -1,14 +1,10 @@
namespace AOC2019;
-public sealed class Day16 : Day
+public sealed class Day16() : Day(2019, 16, "Flawed Frequency Transmission")
{
private static readonly int[] BasePattern = { 0, 1, 0, -1 };
private int[]? _initialList;
- public Day16() : base(2019, 16, "Flawed Frequency Transmission")
- {
- }
-
public override void ProcessInput()
{
_initialList = Input.First().Select(c => c - '0').ToArray();
diff --git a/AOC2019/Day17.cs b/AOC2019/Day17.cs
index fb5b1e2..72b0c6c 100644
--- a/AOC2019/Day17.cs
+++ b/AOC2019/Day17.cs
@@ -1,13 +1,9 @@
namespace AOC2019;
-public sealed class Day17 : Day
+public sealed class Day17() : Day(2019, 17, "Set and Forget")
{
private IntCodeVM? _vm;
- public Day17() : base(2019, 17, "Set and Forget")
- {
- }
-
public override void ProcessInput()
{
_vm = new(Input.First());
diff --git a/AOC2019/Day18.cs b/AOC2019/Day18.cs
index bba470d..7514123 100644
--- a/AOC2019/Day18.cs
+++ b/AOC2019/Day18.cs
@@ -1,11 +1,7 @@
namespace AOC2019;
-public sealed class Day18 : Day
+public sealed class Day18() : Day(2019, 18, "Many-Worlds Interpretation")
{
- public Day18() : base(2019, 18, "Many-Worlds Interpretation")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2019/Day19.cs b/AOC2019/Day19.cs
index 0219fa6..3ca8a7b 100644
--- a/AOC2019/Day19.cs
+++ b/AOC2019/Day19.cs
@@ -1,14 +1,10 @@
namespace AOC2019;
-public sealed class Day19 : Day
+public sealed class Day19() : Day(2019, 19, "Tractor Beam")
{
private long[,]? _grid;
private IntCodeVM? _vm;
- public Day19() : base(2019, 19, "Tractor Beam")
- {
- }
-
public override void ProcessInput(){
_vm = new(Input.First());
_grid = new long[50, 50];
diff --git a/AOC2019/Day20.cs b/AOC2019/Day20.cs
index 15d2205..1c390cd 100644
--- a/AOC2019/Day20.cs
+++ b/AOC2019/Day20.cs
@@ -1,11 +1,7 @@
namespace AOC2019;
-public sealed class Day20 : Day
+public sealed class Day20() : Day(2019, 20, "Donut Maze")
{
- public Day20() : base(2019, 20, "Donut Maze")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2019/Day22.cs b/AOC2019/Day22.cs
index 2171ad2..c97533f 100644
--- a/AOC2019/Day22.cs
+++ b/AOC2019/Day22.cs
@@ -1,11 +1,7 @@
namespace AOC2019;
-public sealed class Day22 : Day
+public sealed class Day22() : Day(2019, 22, "Slam Shuffle")
{
- public Day22() : base(2019, 22, "Slam Shuffle")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2019/Day23.cs b/AOC2019/Day23.cs
index 1af65e8..a55f79e 100644
--- a/AOC2019/Day23.cs
+++ b/AOC2019/Day23.cs
@@ -1,11 +1,7 @@
namespace AOC2019;
-public sealed class Day23 : Day
+public sealed class Day23() : Day(2019, 23, "Category Six")
{
- public Day23() : base(2019, 23, "Category Six")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2019/Day24.cs b/AOC2019/Day24.cs
index 44329f9..774545e 100644
--- a/AOC2019/Day24.cs
+++ b/AOC2019/Day24.cs
@@ -1,11 +1,7 @@
namespace AOC2019;
-public sealed class Day24 : Day
+public sealed class Day24() : Day(2019, 24, "Planet of Discord")
{
- public Day24() : base(2019, 24, "Planet of Discord")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2019/Day25.cs b/AOC2019/Day25.cs
index b0e9ef4..2b19902 100644
--- a/AOC2019/Day25.cs
+++ b/AOC2019/Day25.cs
@@ -1,11 +1,7 @@
namespace AOC2019;
-public sealed class Day25 : Day
+public sealed class Day25() : Day(2019, 25, "Cryostasis")
{
- public Day25() : base(2019, 25, "Cryostasis")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2020/Day01.cs b/AOC2020/Day01.cs
index de1581a..63108fa 100644
--- a/AOC2020/Day01.cs
+++ b/AOC2020/Day01.cs
@@ -3,14 +3,10 @@ namespace AOC2020;
///
/// Day 1:
///
-public sealed class Day01 : Day
+public sealed class Day01() : Day(2020, 1, "Report Repair")
{
private ImmutableHashSet? _entries;
- public Day01() : base(2020, 1, "Report Repair")
- {
- }
-
public override void ProcessInput()
{
_entries = Input.Select(int.Parse).ToImmutableHashSet();
diff --git a/AOC2020/Day02.cs b/AOC2020/Day02.cs
index e144170..46f01bf 100644
--- a/AOC2020/Day02.cs
+++ b/AOC2020/Day02.cs
@@ -3,14 +3,10 @@ namespace AOC2020;
///
/// Day 2:
///
-public sealed class Day02 : Day
+public sealed class Day02() : Day(2020, 2, "Password Philosophy")
{
private ImmutableList? _passwords;
- public Day02() : base(2020, 2, "Password Philosophy")
- {
- }
-
public override void ProcessInput()
{
_passwords = Input.Select(p => new Password(p)).ToImmutableList();
diff --git a/AOC2020/Day03.cs b/AOC2020/Day03.cs
index 6c2fac8..b2fe842 100644
--- a/AOC2020/Day03.cs
+++ b/AOC2020/Day03.cs
@@ -3,14 +3,10 @@ namespace AOC2020;
///
/// Day 3:
///
-public sealed class Day03 : Day
+public sealed class Day03() : Day(2020, 3, "Toboggan Trajectory")
{
private string[]? _grid;
- public Day03() : base(2020, 3, "Toboggan Trajectory")
- {
- }
-
public override void ProcessInput()
{
_grid = Input.ToArray();
diff --git a/AOC2020/Day04.cs b/AOC2020/Day04.cs
index 224e853..5e2ef61 100644
--- a/AOC2020/Day04.cs
+++ b/AOC2020/Day04.cs
@@ -5,14 +5,10 @@ namespace AOC2020;
///
/// Day 4:
///
-public sealed partial class Day04 : Day
+public sealed partial class Day04() : Day(2020, 4, "Passport Processing")
{
private List>? _passports;
- public Day04() : base(2020, 4, "Passport Processing")
- {
- }
-
public override void ProcessInput() =>
_passports = Input.Split("").Select(Parse).ToList();
diff --git a/AOC2020/Day05.cs b/AOC2020/Day05.cs
index 93177ac..160151b 100644
--- a/AOC2020/Day05.cs
+++ b/AOC2020/Day05.cs
@@ -3,14 +3,10 @@ namespace AOC2020;
///
/// Day 5:
///
-public sealed class Day05 : Day
+public sealed class Day05() : Day(2020, 5, "Binary Boarding")
{
private ImmutableHashSet? _ids;
- public Day05() : base(2020, 5, "Binary Boarding")
- {
- }
-
public override void ProcessInput()
{
_ids = Input
diff --git a/AOC2020/Day06.cs b/AOC2020/Day06.cs
index 43399bd..8318c00 100644
--- a/AOC2020/Day06.cs
+++ b/AOC2020/Day06.cs
@@ -3,15 +3,11 @@ namespace AOC2020;
///
/// Day 6:
///
-public sealed class Day06 : Day
+public sealed class Day06() : Day(2020, 6, "Custom Customs")
{
private int _countPart1;
private int _countPart2;
- public Day06() : base(2020, 6, "Custom Customs")
- {
- }
-
public override void ProcessInput()
{
var alphabet = "abcedfghijklmnopqrstuvwxyz".ToCharArray();
diff --git a/AOC2020/Day07.cs b/AOC2020/Day07.cs
index 54fb73f..1a62447 100644
--- a/AOC2020/Day07.cs
+++ b/AOC2020/Day07.cs
@@ -3,14 +3,10 @@ namespace AOC2020;
///
/// Day 7:
///
-public sealed class Day07 : Day
+public sealed class Day07() : Day(2020, 7, "Handy Haversacks")
{
private Dictionary>? _rules;
- public Day07() : base(2020, 7, "Handy Haversacks")
- {
- }
-
public override void ProcessInput()
{
_rules = Input
diff --git a/AOC2020/Day08.cs b/AOC2020/Day08.cs
index a3ef2a6..07e6514 100644
--- a/AOC2020/Day08.cs
+++ b/AOC2020/Day08.cs
@@ -3,16 +3,12 @@ namespace AOC2020;
///
/// Day 8:
///
-public sealed class Day08 : Day
+public sealed class Day08() : Day(2020, 8, "Handheld Halting")
{
private (string instruction, int value)[]? _instructions;
private int _accumulator;
private int _currentInstruction;
- public Day08() : base(2020, 8, "Handheld Halting")
- {
- }
-
public override void ProcessInput()
{
_instructions = Input.Select(ParseLine).ToArray();
diff --git a/AOC2020/Day09.cs b/AOC2020/Day09.cs
index 4312a6f..e5e88ec 100644
--- a/AOC2020/Day09.cs
+++ b/AOC2020/Day09.cs
@@ -3,15 +3,11 @@ namespace AOC2020;
///
/// Day 9:
///
-public sealed class Day09 : Day
+public sealed class Day09() : Day(2020, 9, "Encoding Error")
{
private long[]? _list;
private long _part1;
- public Day09() : base(2020, 9, "Encoding Error")
- {
- }
-
public override void ProcessInput()
{
_list = Input.Select(long.Parse).ToArray();
diff --git a/AOC2020/Day10.cs b/AOC2020/Day10.cs
index 388e529..3beed1c 100644
--- a/AOC2020/Day10.cs
+++ b/AOC2020/Day10.cs
@@ -3,15 +3,11 @@ namespace AOC2020;
///
/// Day 10:
///
-public sealed class Day10 : Day
+public sealed class Day10() : Day(2020, 10, "Adapter Array")
{
private int[]? _adapters;
private long[]? _memo;
- public Day10() : base(2020, 10, "Adapter Array")
- {
- }
-
public override void ProcessInput()
{
var parsed = Input.Select(int.Parse).ToArray();
diff --git a/AOC2020/Day11.cs b/AOC2020/Day11.cs
index 400727a..bc629e1 100644
--- a/AOC2020/Day11.cs
+++ b/AOC2020/Day11.cs
@@ -3,12 +3,8 @@ namespace AOC2020;
///
/// Day 11:
///
-public sealed class Day11 : Day
+public sealed class Day11() : Day(2020, 11, "Seating System")
{
- public Day11() : base(2020, 11, "Seating System")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2020/Day12.cs b/AOC2020/Day12.cs
index 855c930..594584c 100644
--- a/AOC2020/Day12.cs
+++ b/AOC2020/Day12.cs
@@ -3,12 +3,8 @@ namespace AOC2020;
///
/// Day 12:
///
-public sealed class Day12 : Day
+public sealed class Day12() : Day(2020, 12, "Rain Risk")
{
- public Day12() : base(2020, 12, "Rain Risk")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2020/Day13.cs b/AOC2020/Day13.cs
index c5fb3da..e8ef4e0 100644
--- a/AOC2020/Day13.cs
+++ b/AOC2020/Day13.cs
@@ -3,16 +3,12 @@ namespace AOC2020;
///
/// Day 13:
///
-public sealed class Day13 : Day
+public sealed class Day13() : Day(2020, 13, "Shuttle Search")
{
private long[]? _buses;
private long _earliest;
private string[]? _fullSchedule;
- public Day13() : base(2020, 13, "Shuttle Search")
- {
- }
-
public override void ProcessInput()
{
_earliest = long.Parse(Input.First());
diff --git a/AOC2020/Day14.cs b/AOC2020/Day14.cs
index 72dbe1c..c003996 100644
--- a/AOC2020/Day14.cs
+++ b/AOC2020/Day14.cs
@@ -3,12 +3,8 @@ namespace AOC2020;
///
/// Day 14:
///
-public sealed class Day14 : Day
+public sealed class Day14() : Day(2020, 14, "Docking Data")
{
- public Day14() : base(2020, 14, "Docking Data")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2020/Day15.cs b/AOC2020/Day15.cs
index e97b404..5c58f6d 100644
--- a/AOC2020/Day15.cs
+++ b/AOC2020/Day15.cs
@@ -3,16 +3,12 @@ namespace AOC2020;
///
/// Day 15:
///
-public sealed class Day15 : Day
+public sealed class Day15() : Day(2020, 15, "Rambunctious Recitation")
{
private int[]? _turns;
private int _current;
private int _i;
- public Day15() : base(2020, 15, "Rambunctious Recitation")
- {
- }
-
public override void ProcessInput()
{
var initial = Input.First().Split(',').Select(int.Parse).ToArray();
diff --git a/AOC2020/Day16.cs b/AOC2020/Day16.cs
index 9af6052..1913c90 100644
--- a/AOC2020/Day16.cs
+++ b/AOC2020/Day16.cs
@@ -3,15 +3,11 @@ namespace AOC2020;
///
/// Day 16:
///
-public sealed class Day16 : Day
+public sealed class Day16() : Day(2020, 16, "Ticket Translation")
{
private Dictionary>? _rules;
private List>? _tickets;
- public Day16() : base(2020, 16, "Ticket Translation")
- {
- }
-
public override void ProcessInput()
{
_tickets = new();
diff --git a/AOC2020/Day17.cs b/AOC2020/Day17.cs
index 424c330..fa91df4 100644
--- a/AOC2020/Day17.cs
+++ b/AOC2020/Day17.cs
@@ -3,15 +3,11 @@ namespace AOC2020;
///
/// Day 17:
///
-public sealed class Day17 : Day
+public sealed class Day17() : Day(2020, 17, "Conway Cubes")
{
private readonly Dictionary<(int x, int y, int z), char> _plane = new();
private readonly Dictionary<(int x, int y, int z, int w), char> _plane4 = new();
- public Day17() : base(2020, 17, "Conway Cubes")
- {
- }
-
public override void ProcessInput()
{
var input = Input.ToList();
diff --git a/AOC2020/Day18.cs b/AOC2020/Day18.cs
index f97291c..43a461b 100644
--- a/AOC2020/Day18.cs
+++ b/AOC2020/Day18.cs
@@ -3,14 +3,10 @@ namespace AOC2020;
///
/// Day 18:
///
-public sealed class Day18 : Day
+public sealed class Day18() : Day(2020, 18, "Operation Order")
{
private List? _expressions;
- public Day18() : base(2020, 18, "Operation Order")
- {
- }
-
public override void ProcessInput()
{
_expressions = Input.Select(line => line.Replace(" ", "")).ToList();
diff --git a/AOC2020/Day19.cs b/AOC2020/Day19.cs
index 8d3d35b..fc20755 100644
--- a/AOC2020/Day19.cs
+++ b/AOC2020/Day19.cs
@@ -3,16 +3,12 @@ namespace AOC2020;
///
/// Day 19:
///
-public sealed class Day19 : Day
+public sealed class Day19() : Day(2020, 19, "Monster Messages")
{
private string[]? _messages;
private Dictionary? _rules;
private Stack? _stack;
- public Day19() : base(2020, 19, "Monster Messages")
- {
- }
-
public override void ProcessInput()
{
_rules = Input.TakeWhile(l => !string.IsNullOrWhiteSpace(l))
diff --git a/AOC2020/Day20.cs b/AOC2020/Day20.cs
index f21bb8c..936e3f8 100644
--- a/AOC2020/Day20.cs
+++ b/AOC2020/Day20.cs
@@ -3,12 +3,8 @@ namespace AOC2020;
///
/// Day 20:
///
-public sealed class Day20 : Day
+public sealed class Day20() : Day(2020, 20, "Jurassic Jigsaw")
{
- public Day20() : base(2020, 20, "Jurassic Jigsaw")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2020/Day21.cs b/AOC2020/Day21.cs
index 71df5ae..68f1985 100644
--- a/AOC2020/Day21.cs
+++ b/AOC2020/Day21.cs
@@ -3,15 +3,11 @@ namespace AOC2020;
///
/// Day 21:
///
-public sealed class Day21 : Day
+public sealed class Day21() : Day(2020, 21, "Allergen Assessment")
{
private IEnumerable<(string[] Allergens, string[] Ingredients)>? _parsedFoods;
private IEnumerable<(string Allergen, string Ingredient)>? _dangerousFoods;
- public Day21() : base(2020, 21, "Allergen Assessment")
- {
- }
-
public override void ProcessInput()
{
_parsedFoods = Input.Select(line => line.TrimEnd(')').Split(" (contains "))
diff --git a/AOC2020/Day22.cs b/AOC2020/Day22.cs
index 899366f..73c8325 100644
--- a/AOC2020/Day22.cs
+++ b/AOC2020/Day22.cs
@@ -3,15 +3,11 @@ namespace AOC2020;
///
/// Day 22:
///
-public sealed class Day22 : Day
+public sealed class Day22() : Day(2020, 22, "Crab Combat")
{
private readonly Queue _deck1 = new();
private readonly Queue _deck2 = new();
- public Day22() : base(2020, 22, "Crab Combat")
- {
- }
-
public override void ProcessInput()
{
Reset();
diff --git a/AOC2020/Day23.cs b/AOC2020/Day23.cs
index dd77865..978e8a0 100644
--- a/AOC2020/Day23.cs
+++ b/AOC2020/Day23.cs
@@ -3,17 +3,13 @@ namespace AOC2020;
///
/// Day 23:
///
-public sealed class Day23 : Day
+public sealed class Day23() : Day(2020, 23, "Crab Cups")
{
private readonly Dictionary _cups = new();
private ImmutableList? _initialCups;
private long[]? _move;
private long _current;
- public Day23() : base(2020, 23, "Crab Cups")
- {
- }
-
public override void ProcessInput()
{
_initialCups = Input.First().Select(c => long.Parse(c.ToString())).ToImmutableList();
diff --git a/AOC2020/Day24.cs b/AOC2020/Day24.cs
index ffed954..2dcee46 100644
--- a/AOC2020/Day24.cs
+++ b/AOC2020/Day24.cs
@@ -3,7 +3,7 @@ namespace AOC2020;
///
/// Day 24:
///
-public sealed class Day24 : Day
+public sealed class Day24() : Day(2020, 24, "Lobby Layout")
{
private static readonly Dictionary Directions = new()
{
@@ -17,10 +17,6 @@ public sealed class Day24 : Day
private Dictionary<(int q, int r, int s), Tile>? _tiles;
- public Day24() : base(2020, 24, "Lobby Layout")
- {
- }
-
public override void ProcessInput()
{
_tiles = Input
diff --git a/AOC2020/Day25.cs b/AOC2020/Day25.cs
index 7ff1751..9436d14 100644
--- a/AOC2020/Day25.cs
+++ b/AOC2020/Day25.cs
@@ -3,12 +3,8 @@ namespace AOC2020;
///
/// Day 25:
///
-public sealed class Day25 : Day
+public sealed class Day25() : Day(2020, 25, "Combo Breaker")
{
- public Day25() : base(2020, 25, "Combo Breaker")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2021/Day01.cs b/AOC2021/Day01.cs
index 411bb88..34fd825 100644
--- a/AOC2021/Day01.cs
+++ b/AOC2021/Day01.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 1:
///
-public sealed class Day01 : Day
+public sealed class Day01() : Day(2021, 1, "Sonar Sweep")
{
private List? _readings;
- public Day01() : base(2021, 1, "Sonar Sweep")
- {
- }
-
public override void ProcessInput()
{
_readings = Input.Select(int.Parse).ToList();
diff --git a/AOC2021/Day02.cs b/AOC2021/Day02.cs
index 3627262..22e619a 100644
--- a/AOC2021/Day02.cs
+++ b/AOC2021/Day02.cs
@@ -3,12 +3,8 @@ namespace AOC2021;
///
/// Day 2:
///
-public sealed class Day02 : Day
+public sealed class Day02() : Day(2021, 2, "Dive!")
{
- public Day02() : base(2021, 2, "Dive!")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2021/Day03.cs b/AOC2021/Day03.cs
index a5a6cdb..fc9f7aa 100644
--- a/AOC2021/Day03.cs
+++ b/AOC2021/Day03.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 3:
///
-public sealed class Day03 : Day
+public sealed class Day03() : Day(2021, 3, "Binary Diagnostic")
{
private List? _report;
- public Day03() : base(2021, 3, "Binary Diagnostic")
- {
- }
-
public override void ProcessInput()
{
_report = Input.ToList();
diff --git a/AOC2021/Day04.cs b/AOC2021/Day04.cs
index 4e969e7..3f9ecc1 100644
--- a/AOC2021/Day04.cs
+++ b/AOC2021/Day04.cs
@@ -3,16 +3,12 @@ namespace AOC2021;
///
/// Day 4:
///
-public sealed class Day04 : Day
+public sealed class Day04() : Day(2021, 4, "Giant Squid")
{
private List? _call;
private List>? _boards;
private int _size;
- public Day04() : base(2021, 4, "Giant Squid")
- {
- }
-
public override void ProcessInput()
{
_call = Input.First().Split(',').Select(int.Parse).ToList();
diff --git a/AOC2021/Day05.cs b/AOC2021/Day05.cs
index fc180dd..d42b391 100644
--- a/AOC2021/Day05.cs
+++ b/AOC2021/Day05.cs
@@ -3,12 +3,8 @@ namespace AOC2021;
///
/// Day 5:
///
-public sealed partial class Day05 : Day
+public sealed partial class Day05() : Day(2021, 5, "Hydrothermal Venture")
{
- public Day05() : base(2021, 5, "Hydrothermal Venture")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2021/Day06.cs b/AOC2021/Day06.cs
index 287df2c..95b2956 100644
--- a/AOC2021/Day06.cs
+++ b/AOC2021/Day06.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 6:
///
-public sealed class Day06 : Day
+public sealed class Day06() : Day(2021, 6, "Lanternfish")
{
private long _p1, _p2;
- public Day06() : base(2021, 6, "Lanternfish")
- {
- }
-
public override void ProcessInput()
{
var fishes = Input.First().Split(',').Select(long.Parse).ToList();
diff --git a/AOC2021/Day07.cs b/AOC2021/Day07.cs
index a488411..1f46414 100644
--- a/AOC2021/Day07.cs
+++ b/AOC2021/Day07.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 7:
///
-public sealed class Day07 : Day
+public sealed class Day07() : Day(2021, 7, "The Treachery of Whales")
{
private List? _tape;
- public Day07() : base(2021, 7, "The Treachery of Whales")
- {
- }
-
public override void ProcessInput()
{
_tape = Input.First().Split(',').Select(long.Parse).OrderBy(i => i).ToList();
diff --git a/AOC2021/Day08.cs b/AOC2021/Day08.cs
index cec396f..3bb53e8 100644
--- a/AOC2021/Day08.cs
+++ b/AOC2021/Day08.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 8:
///
-public sealed class Day08 : Day
+public sealed class Day08() : Day(2021, 8, "Seven Segment Search")
{
private static readonly List PossibleMappings =
"abcdefg".ToCharArray().Permute().Select(m => m.ToArray()).ToList();
-
- public Day08() : base(2021, 8, "Seven Segment Search")
- {
- }
public override void ProcessInput()
{
diff --git a/AOC2021/Day09.cs b/AOC2021/Day09.cs
index b471958..333c4b6 100644
--- a/AOC2021/Day09.cs
+++ b/AOC2021/Day09.cs
@@ -5,16 +5,12 @@ namespace AOC2021;
///
/// Day 9:
///
-public sealed class Day09 : Day
+public sealed class Day09() : Day(2021, 9, "Smoke Basin")
{
private int _part1Sum;
private List<(int x, int y)>? _lowPoints;
private List? _map;
- public Day09() : base(2021, 9, "Smoke Basin")
- {
- }
-
public override void ProcessInput()
{
_part1Sum = 0;
diff --git a/AOC2021/Day10.cs b/AOC2021/Day10.cs
index 76f6ca2..0a8fb9a 100644
--- a/AOC2021/Day10.cs
+++ b/AOC2021/Day10.cs
@@ -3,7 +3,7 @@ namespace AOC2021;
///
/// Day 10:
///
-public sealed class Day10 : Day
+public sealed class Day10() : Day(2021, 10, "Syntax Scoring")
{
private static readonly Dictionary MatchedBrackets = new()
{
@@ -33,10 +33,6 @@ public sealed class Day10 : Day
private long _score1;
- public Day10() : base(2021, 10, "Syntax Scoring")
- {
- }
-
public override void ProcessInput()
{
_score1 = 0L;
diff --git a/AOC2021/Day11.cs b/AOC2021/Day11.cs
index 76fbcae..1414804 100644
--- a/AOC2021/Day11.cs
+++ b/AOC2021/Day11.cs
@@ -3,15 +3,11 @@ namespace AOC2021;
///
/// Day 11:
///
-public sealed class Day11 : Day
+public sealed class Day11() : Day(2021, 11, "Dumbo Octopus")
{
private int _flashTally, _flashesAfter100, _totalTurns;
private int[][]? _octopusField;
- public Day11() : base(2021, 11, "Dumbo Octopus")
- {
- }
-
public override void ProcessInput()
{
_octopusField = Input.Select(line => line.Select(c => int.Parse($"{c}")).ToArray()).ToArray();
diff --git a/AOC2021/Day12.cs b/AOC2021/Day12.cs
index 740ca65..c72a701 100644
--- a/AOC2021/Day12.cs
+++ b/AOC2021/Day12.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 12:
///
-public sealed class Day12 : Day
+public sealed class Day12() : Day(2021, 12, "Passage Pathing")
{
private readonly Dictionary> _edges = new();
- public Day12() : base(2021, 12, "Passage Pathing")
- {
- }
-
public override void ProcessInput()
{
foreach (var line in Input)
diff --git a/AOC2021/Day13.cs b/AOC2021/Day13.cs
index 0b063a8..be9c8a2 100644
--- a/AOC2021/Day13.cs
+++ b/AOC2021/Day13.cs
@@ -5,15 +5,11 @@ namespace AOC2021;
///
/// Day 13:
///
-public sealed class Day13 : Day
+public sealed class Day13() : Day(2021, 13, "Transparent Origami")
{
private List<(int x, int y)>? _dots;
private List<(char axis, int index)>? _folds;
- public Day13() : base(2021, 13, "Transparent Origami")
- {
- }
-
public override void ProcessInput()
{
var s = Input.Split("").ToList();
diff --git a/AOC2021/Day14.cs b/AOC2021/Day14.cs
index b4fbebc..eb25659 100644
--- a/AOC2021/Day14.cs
+++ b/AOC2021/Day14.cs
@@ -3,15 +3,11 @@ namespace AOC2021;
///
/// Day 14:
///
-public sealed class Day14 : Day
+public sealed class Day14() : Day(2021, 14, "Extended Polymerization")
{
private string? _template;
private Dictionary? _substitutionPairs;
- public Day14() : base(2021, 14, "Extended Polymerization")
- {
- }
-
public override void ProcessInput()
{
_template = Input.First();
diff --git a/AOC2021/Day15.cs b/AOC2021/Day15.cs
index 7a6afa4..a36de22 100644
--- a/AOC2021/Day15.cs
+++ b/AOC2021/Day15.cs
@@ -12,17 +12,13 @@ public record Node
///
/// Day 15:
///
-public sealed class Day15 : Day
+public sealed class Day15() : Day(2021, 15, "Chiton")
{
private static readonly (int x, int y)[] Adjacent = { (-1, 0), (1, 0), (0, -1), (0, 1) };
private Dictionary<(int x, int y), Node>? _fullGrid;
private Dictionary<(int x, int y), Node>? _grid;
private int _width;
- public Day15() : base(2021, 15, "Chiton")
- {
- }
-
public override void ProcessInput()
{
_grid = Input
diff --git a/AOC2021/Day16.cs b/AOC2021/Day16.cs
index dc77ba3..3b036c8 100644
--- a/AOC2021/Day16.cs
+++ b/AOC2021/Day16.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 16:
///
-public sealed class Day16 : Day
+public sealed class Day16() : Day(2021, 16, "Packet Decoder")
{
private Packet? _packet;
- public Day16() : base(2021, 16, "Packet Decoder")
- {
- }
-
public override void ProcessInput()
{
var bits = string.Join(string.Empty,
diff --git a/AOC2021/Day17.cs b/AOC2021/Day17.cs
index 64142bb..e27dc21 100644
--- a/AOC2021/Day17.cs
+++ b/AOC2021/Day17.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 17:
///
-public sealed class Day17 : Day
+public sealed class Day17() : Day(2021, 17, "Trick Shot")
{
private List? _target;
- public Day17() : base(2021, 17, "Trick Shot")
- {
- }
-
public override void ProcessInput()
{
_target = Input.First()
diff --git a/AOC2021/Day18.cs b/AOC2021/Day18.cs
index f22cb73..603aafe 100644
--- a/AOC2021/Day18.cs
+++ b/AOC2021/Day18.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 18:
///
-public sealed class Day18 : Day
+public sealed class Day18() : Day(2021, 18, "Snailfish")
{
private List? _fishes;
- public Day18() : base(2021, 18, "Snailfish")
- {
- }
-
public override void ProcessInput()
{
_fishes = Input.ToList();
diff --git a/AOC2021/Day19.cs b/AOC2021/Day19.cs
index fe3e57f..8f7cbdf 100644
--- a/AOC2021/Day19.cs
+++ b/AOC2021/Day19.cs
@@ -3,7 +3,7 @@ namespace AOC2021;
///
/// Day 19:
///
-public sealed class Day19 : Day
+public sealed class Day19() : Day(2021, 19, "Beacon Scanner")
{
private static readonly (int, int, int)[] Axes =
{ (0, 1, 0), (0, -1, 0), (1, 0, 0), (-1, 0, 0), (0, 0, 1), (0, 0, -1) };
@@ -11,10 +11,6 @@ public sealed class Day19 : Day
private List>? _scans;
private List> _scanners = new();
- public Day19() : base(2021, 19, "Beacon Scanner")
- {
- }
-
public override void ProcessInput()
{
_scans = Input
diff --git a/AOC2021/Day20.cs b/AOC2021/Day20.cs
index 99b4ff5..fc379bb 100644
--- a/AOC2021/Day20.cs
+++ b/AOC2021/Day20.cs
@@ -3,15 +3,11 @@ namespace AOC2021;
///
/// Day 20:
///
-public sealed class Day20 : Day
+public sealed class Day20() : Day(2021, 20, "Trench Map")
{
private ImmutableArray _enhancementAlgorithm;
private Image? _initialImage;
- public Day20() : base(2021, 20, "Trench Map")
- {
- }
-
public override void ProcessInput()
{
_enhancementAlgorithm = Input.First().Select(ch => ch == '#').ToImmutableArray();
diff --git a/AOC2021/Day21.cs b/AOC2021/Day21.cs
index 6e0cd0a..a9df2dd 100644
--- a/AOC2021/Day21.cs
+++ b/AOC2021/Day21.cs
@@ -3,7 +3,7 @@ namespace AOC2021;
///
/// Day 21:
///
-public sealed class Day21 : Day
+public sealed class Day21() : Day(2021, 21, "Dirac Dice")
{
private int _player1, _player2;
private readonly Dictionary _possibleRollOutComes = new();
@@ -11,10 +11,6 @@ public sealed class Day21 : Day
private int _rollCount;
private ulong _player1Victories, _player2Victories;
- public Day21() : base(2021, 21, "Dirac Dice")
- {
- }
-
public override void ProcessInput()
{
var s = Input
diff --git a/AOC2021/Day22.cs b/AOC2021/Day22.cs
index d206d8e..ef3cd76 100644
--- a/AOC2021/Day22.cs
+++ b/AOC2021/Day22.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 22:
///
-public sealed class Day22 : Day
+public sealed class Day22() : Day(2021, 22, "Reactor Reboot")
{
private readonly List _instructions = new();
- public Day22() : base(2021, 22, "Reactor Reboot")
- {
- }
-
public override void ProcessInput()
{
foreach (var line in Input)
diff --git a/AOC2021/Day23.cs b/AOC2021/Day23.cs
index f57e177..e282945 100644
--- a/AOC2021/Day23.cs
+++ b/AOC2021/Day23.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 23:
///
-public sealed class Day23 : Day
+public sealed class Day23() : Day(2021, 23, "Amphipod")
{
private List? _crabs;
- public Day23() : base(2021, 23, "Amphipod")
- {
- }
-
public override void ProcessInput()
{
_crabs = Input.SelectMany(l => l).Where(char.IsLetter).ToList();
diff --git a/AOC2021/Day24.cs b/AOC2021/Day24.cs
index f71e873..a7aceb6 100644
--- a/AOC2021/Day24.cs
+++ b/AOC2021/Day24.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 24:
///
-public sealed class Day24 : Day
+public sealed class Day24() : Day(2021, 24, "Arithmetic Logic Unit")
{
private readonly Dictionary _keys = new();
- public Day24() : base(2021, 24, "Arithmetic Logic Unit")
- {
- }
-
public override void ProcessInput()
{
var lines = Input.ToList();
diff --git a/AOC2021/Day25.cs b/AOC2021/Day25.cs
index 8054bd5..e737eac 100644
--- a/AOC2021/Day25.cs
+++ b/AOC2021/Day25.cs
@@ -3,14 +3,10 @@ namespace AOC2021;
///
/// Day 25:
///
-public sealed class Day25 : Day
+public sealed class Day25() : Day(2021, 25, "Sea Cucumber")
{
private char[][]? _cucumbers;
- public Day25() : base(2021, 25, "Sea Cucumber")
- {
- }
-
public override void ProcessInput()
{
_cucumbers = Input.Select(l => l.ToCharArray()).ToArray();
diff --git a/AOC2022/Day01.cs b/AOC2022/Day01.cs
index 05f50af..ad08941 100644
--- a/AOC2022/Day01.cs
+++ b/AOC2022/Day01.cs
@@ -5,14 +5,10 @@ namespace AOC2022;
///
/// Day 1:
///
-public sealed class Day01 : Day
+public sealed class Day01() : Day(2022, 1, "Calorie Counting")
{
private List>? _elfCalories;
- public Day01() : base(2022, 1, "Calorie Counting")
- {
- }
-
public override void ProcessInput() =>
_elfCalories = Input
.Split("")
diff --git a/AOC2022/Day02.cs b/AOC2022/Day02.cs
index 58de3c1..3f39fe8 100644
--- a/AOC2022/Day02.cs
+++ b/AOC2022/Day02.cs
@@ -3,15 +3,11 @@ namespace AOC2022;
///
/// Day 2:
///
-public sealed class Day02 : Day
+public sealed class Day02() : Day(2022, 2, "Rock Paper Scissors")
{
private int _score1;
private int _score2;
- public Day02() : base(2022, 2, "Rock Paper Scissors")
- {
- }
-
public override void ProcessInput()
{
foreach (var line in Input)
diff --git a/AOC2022/Day03.cs b/AOC2022/Day03.cs
index 45c1348..e815383 100644
--- a/AOC2022/Day03.cs
+++ b/AOC2022/Day03.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 3:
///
-public sealed class Day03 : Day
+public sealed class Day03() : Day(2022, 3, "Rucksack Reorganization")
{
- public Day03() : base(2022, 3, "Rucksack Reorganization")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day04.cs b/AOC2022/Day04.cs
index e9954b6..2c66897 100644
--- a/AOC2022/Day04.cs
+++ b/AOC2022/Day04.cs
@@ -3,14 +3,10 @@ namespace AOC2022;
///
/// Day 4:
///
-public sealed class Day04 : Day
+public sealed class Day04() : Day(2022, 4, "Camp Cleanup")
{
private List<(Range r1, Range r2)>? _ranges;
- public Day04() : base(2022, 4, "Camp Cleanup")
- {
- }
-
public override void ProcessInput() =>
_ranges = Input
.Select(line => line.Split(',').SelectMany(q => q.Split('-')).Select(int.Parse).ToList())
diff --git a/AOC2022/Day05.cs b/AOC2022/Day05.cs
index f925aec..0fbbf48 100644
--- a/AOC2022/Day05.cs
+++ b/AOC2022/Day05.cs
@@ -5,16 +5,12 @@ namespace AOC2022;
///
/// Day 5:
///
-public sealed class Day05 : Day
+public sealed class Day05() : Day(2022, 5, "Supply Stacks")
{
private IEnumerable<(int quantity, int from, int to)>? _instructions;
private List>? _stacks;
private List>? _stacksPart2;
- public Day05() : base(2022, 5, "Supply Stacks")
- {
- }
-
public override void ProcessInput()
{
var s = Input.Split("").ToList();
diff --git a/AOC2022/Day06.cs b/AOC2022/Day06.cs
index 2634e20..6a88f50 100644
--- a/AOC2022/Day06.cs
+++ b/AOC2022/Day06.cs
@@ -3,14 +3,10 @@ namespace AOC2022;
///
/// Day 6:
///
-public sealed class Day06 : Day
+public sealed class Day06() : Day(2022, 6, "Tuning Trouble")
{
private string? _signal;
- public Day06() : base(2022, 6, "Tuning Trouble")
- {
- }
-
public override void ProcessInput() =>
_signal = Input.First();
diff --git a/AOC2022/Day07.cs b/AOC2022/Day07.cs
index 416c46b..9a7de0b 100644
--- a/AOC2022/Day07.cs
+++ b/AOC2022/Day07.cs
@@ -3,14 +3,10 @@ namespace AOC2022;
///
/// Day 7:
///
-public sealed class Day07 : Day
+public sealed class Day07() : Day(2022, 7, "No Space Left On Device")
{
private readonly DefaultDictionary _dirs = new();
- public Day07() : base(2022, 7, "No Space Left On Device")
- {
- }
-
public override void ProcessInput()
{
var path = new Stack();
diff --git a/AOC2022/Day08.cs b/AOC2022/Day08.cs
index 6f038bc..4aabc27 100644
--- a/AOC2022/Day08.cs
+++ b/AOC2022/Day08.cs
@@ -3,14 +3,10 @@ namespace AOC2022;
///
/// Day 8:
///
-public sealed class Day08 : Day
+public sealed class Day08() : Day(2022, 8, "Treetop Tree House")
{
private int[][]? _trees;
- public Day08() : base(2022, 8, "Treetop Tree House")
- {
- }
-
public override void ProcessInput() =>
_trees = Input.Select(line => line.Select(c => c - '0').ToArray()).ToArray();
diff --git a/AOC2022/Day09.cs b/AOC2022/Day09.cs
index 2c0511b..b8b69a1 100644
--- a/AOC2022/Day09.cs
+++ b/AOC2022/Day09.cs
@@ -3,14 +3,10 @@ namespace AOC2022;
///
/// Day 9:
///
-public sealed class Day09 : Day
+public sealed class Day09() : Day(2022, 9, "Rope Bridge")
{
private List<(char direction, int count)>? _steps;
-
- public Day09() : base(2022, 9, "Rope Bridge")
- {
- }
-
+
public override void ProcessInput() =>
_steps = Input.Select(line => (line[0], int.Parse(line[2..]))).ToList();
diff --git a/AOC2022/Day10.cs b/AOC2022/Day10.cs
index 1e9ae1f..cadcb8f 100644
--- a/AOC2022/Day10.cs
+++ b/AOC2022/Day10.cs
@@ -3,15 +3,11 @@ namespace AOC2022;
///
/// Day 10:
///
-public sealed class Day10 : Day
+public sealed class Day10() : Day(2022, 10, "Cathode-Ray Tube")
{
private readonly List _interestingSignals = new();
private readonly List _charMap = Enumerable.Range(0, 6 * 40).Select(_ => ' ').ToList();
- public Day10() : base(2022, 10, "Cathode-Ray Tube")
- {
- }
-
public override void ProcessInput()
{
int x = 1, cycle = 1;
diff --git a/AOC2022/Day11.cs b/AOC2022/Day11.cs
index 1ddefce..bbc3145 100644
--- a/AOC2022/Day11.cs
+++ b/AOC2022/Day11.cs
@@ -5,15 +5,11 @@ namespace AOC2022;
///
/// Day 11:
///
-public sealed class Day11 : Day
+public sealed class Day11() : Day(2022, 11, "Monkey in the Middle")
{
private Monkey[]? _monkeys;
private long _lcm;
- public Day11() : base(2022, 11, "Monkey in the Middle")
- {
- }
-
public override void ProcessInput()
{
_monkeys = Input.Split("").Select(Monkey.FromLines).ToArray();
diff --git a/AOC2022/Day12.cs b/AOC2022/Day12.cs
index b756e89..9d12384 100644
--- a/AOC2022/Day12.cs
+++ b/AOC2022/Day12.cs
@@ -3,16 +3,12 @@ namespace AOC2022;
///
/// Day 12:
///
-public sealed class Day12 : Day
+public sealed class Day12() : Day(2022, 12, "Hill Climbing Algorithm")
{
private readonly Dictionary<(int x, int y), int> _grid = new();
private static readonly List<(int x, int y)> Directions = new() { (-1, 0), (1, 0), (0, -1), (0, 1) };
private (int x, int y) _startCoord, _destCoord;
- public Day12() : base(2022, 12, "Hill Climbing Algorithm")
- {
- }
-
public override void ProcessInput()
{
foreach (var (y, line) in Input.Indexed())
diff --git a/AOC2022/Day13.cs b/AOC2022/Day13.cs
index 55441af..9cc9ef3 100644
--- a/AOC2022/Day13.cs
+++ b/AOC2022/Day13.cs
@@ -5,14 +5,10 @@ namespace AOC2022;
///
/// Day 13:
///
-public sealed class Day13 : Day
+public sealed class Day13() : Day(2022, 13, "Distress Signal")
{
private IEnumerable? _packets;
- public Day13() : base(2022, 13, "Distress Signal")
- {
- }
-
public override void ProcessInput() =>
_packets = Input.Where(line => !string.IsNullOrWhiteSpace(line)).Select(s => JsonNode.Parse(s)!);
diff --git a/AOC2022/Day14.cs b/AOC2022/Day14.cs
index d334afc..90245ed 100644
--- a/AOC2022/Day14.cs
+++ b/AOC2022/Day14.cs
@@ -3,16 +3,12 @@ namespace AOC2022;
///
/// Day 14:
///
-public sealed class Day14 : Day
+public sealed class Day14() : Day(2022, 14, "Regolith Reservoir")
{
private readonly (int x, int y) _start = (500, 0);
private int _bottom;
private HashSet<(int x, int y)>? _walls;
- public Day14() : base(2022, 14, "Regolith Reservoir")
- {
- }
-
public override void ProcessInput()
{
_walls = Input.Select(ParsePath).SelectMany(PathPoints).ToHashSet();
diff --git a/AOC2022/Day15.cs b/AOC2022/Day15.cs
index c9eaad8..ac7432f 100644
--- a/AOC2022/Day15.cs
+++ b/AOC2022/Day15.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 15:
///
-public sealed class Day15 : Day
+public sealed class Day15() : Day(2022, 15, "Beacon Exclusion Zone")
{
- public Day15() : base(2022, 15, "Beacon Exclusion Zone")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day16.cs b/AOC2022/Day16.cs
index 6a9400a..f6273b8 100644
--- a/AOC2022/Day16.cs
+++ b/AOC2022/Day16.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 16:
///
-public sealed class Day16 : Day
+public sealed class Day16() : Day(2022, 16, "Proboscidea Volcanium")
{
- public Day16() : base(2022, 16, "Proboscidea Volcanium")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day17.cs b/AOC2022/Day17.cs
index 29798e2..16cd331 100644
--- a/AOC2022/Day17.cs
+++ b/AOC2022/Day17.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 17:
///
-public sealed class Day17 : Day
+public sealed class Day17() : Day(2022, 17, "Pyroclastic Flow")
{
- public Day17() : base(2022, 17, "Pyroclastic Flow")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day18.cs b/AOC2022/Day18.cs
index ebeb399..a489d1f 100644
--- a/AOC2022/Day18.cs
+++ b/AOC2022/Day18.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 18:
///
-public sealed class Day18 : Day
+public sealed class Day18() : Day(2022, 18, "Boiling Boulders")
{
- public Day18() : base(2022, 18, "Boiling Boulders")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day19.cs b/AOC2022/Day19.cs
index 6116566..d406955 100644
--- a/AOC2022/Day19.cs
+++ b/AOC2022/Day19.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 19:
///
-public sealed class Day19 : Day
+public sealed class Day19() : Day(2022, 19, "Not Enough Minerals")
{
- public Day19() : base(2022, 19, "Not Enough Minerals")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day20.cs b/AOC2022/Day20.cs
index 061572b..291e820 100644
--- a/AOC2022/Day20.cs
+++ b/AOC2022/Day20.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 20:
///
-public sealed class Day20 : Day
+public sealed class Day20() : Day(2022, 20, "Grove Positioning System")
{
- public Day20() : base(2022, 20, "Grove Positioning System")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day21.cs b/AOC2022/Day21.cs
index d56e8c4..43fbebf 100644
--- a/AOC2022/Day21.cs
+++ b/AOC2022/Day21.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 21:
///
-public sealed class Day21 : Day
+public sealed class Day21() : Day(2022, 21, "Monkey Math")
{
- public Day21() : base(2022, 21, "Monkey Math")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day22.cs b/AOC2022/Day22.cs
index 8c10877..19b90bc 100644
--- a/AOC2022/Day22.cs
+++ b/AOC2022/Day22.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 22:
///
-public sealed class Day22 : Day
+public sealed class Day22() : Day(2022, 22, "Monkey Map")
{
- public Day22() : base(2022, 22, "Monkey Map")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day23.cs b/AOC2022/Day23.cs
index 912c4c3..36f3793 100644
--- a/AOC2022/Day23.cs
+++ b/AOC2022/Day23.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 23:
///
-public sealed class Day23 : Day
+public sealed class Day23() : Day(2022, 23, "Unstable Diffusion")
{
- public Day23() : base(2022, 23, "Unstable Diffusion")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day24.cs b/AOC2022/Day24.cs
index 4f35997..f017a05 100644
--- a/AOC2022/Day24.cs
+++ b/AOC2022/Day24.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 24:
///
-public sealed class Day24 : Day
+public sealed class Day24() : Day(2022, 24, "Blizzard Basin")
{
- public Day24() : base(2022, 24, "Blizzard Basin")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AOC2022/Day25.cs b/AOC2022/Day25.cs
index 53c6d10..a3ee17f 100644
--- a/AOC2022/Day25.cs
+++ b/AOC2022/Day25.cs
@@ -3,12 +3,8 @@ namespace AOC2022;
///
/// Day 25:
///
-public sealed class Day25 : Day
+public sealed class Day25() : Day(2022, 25, "Full of Hot Air")
{
- public Day25() : base(2022, 25, "Full of Hot Air")
- {
- }
-
public override void ProcessInput()
{
}
diff --git a/AdventOfCode.sln b/AdventOfCode.sln
index 64bda79..1938865 100644
--- a/AdventOfCode.sln
+++ b/AdventOfCode.sln
@@ -1,26 +1,37 @@
-
Microsoft Visual Studio Solution File, Format Version 12.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC.Common", "AOC.Common\AOC.Common.csproj", "{398908AE-A4C2-4811-A17A-C9410A766792}"
+# Visual Studio Version 17
+VisualStudioVersion = 17.8.34112.27
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC.Common", "AOC.Common\AOC.Common.csproj", "{398908AE-A4C2-4811-A17A-C9410A766792}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC.Test", "AOC.Test\AOC.Test.csproj", "{8A2E8FC3-BC6B-4C7D-B7B2-C949DB484C88}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC.Test", "AOC.Test\AOC.Test.csproj", "{8A2E8FC3-BC6B-4C7D-B7B2-C949DB484C88}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC2015", "AOC2015\AOC2015.csproj", "{8ECC383B-FCF4-4175-BFD2-5EC3DF7A4813}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC2015", "AOC2015\AOC2015.csproj", "{8ECC383B-FCF4-4175-BFD2-5EC3DF7A4813}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC2016", "AOC2016\AOC2016.csproj", "{9BC34AB3-F28E-4962-87B4-68F5E907B6F7}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC2016", "AOC2016\AOC2016.csproj", "{9BC34AB3-F28E-4962-87B4-68F5E907B6F7}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC2017", "AOC2017\AOC2017.csproj", "{8FBC9F32-73C3-4B04-B614-0EDEB7D81481}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC2017", "AOC2017\AOC2017.csproj", "{8FBC9F32-73C3-4B04-B614-0EDEB7D81481}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC2018", "AOC2018\AOC2018.csproj", "{33F08A7F-FBE8-43C1-812F-DE387D19431D}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC2018", "AOC2018\AOC2018.csproj", "{33F08A7F-FBE8-43C1-812F-DE387D19431D}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC2019", "AOC2019\AOC2019.csproj", "{61373774-3838-4D5E-93BF-5ACCD6A9B58E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC2019", "AOC2019\AOC2019.csproj", "{61373774-3838-4D5E-93BF-5ACCD6A9B58E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC2020", "AOC2020\AOC2020.csproj", "{531D6CDA-A416-4AF5-ADF9-1F859FD09C20}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC2020", "AOC2020\AOC2020.csproj", "{531D6CDA-A416-4AF5-ADF9-1F859FD09C20}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC2021", "AOC2021\AOC2021.csproj", "{A775D6BA-045F-4DE7-B210-F18A1C4A5962}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC2021", "AOC2021\AOC2021.csproj", "{A775D6BA-045F-4DE7-B210-F18A1C4A5962}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC2022", "AOC2022\AOC2022.csproj", "{AF6D6164-420C-45B6-BCF3-1729D7374986}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC2022", "AOC2022\AOC2022.csproj", "{AF6D6164-420C-45B6-BCF3-1729D7374986}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AOC2023", "AOC2023\AOC2023.csproj", "{0314348C-A3E9-4A0A-B695-F51946EB5EDC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOC2023", "AOC2023\AOC2023.csproj", "{0314348C-A3E9-4A0A-B695-F51946EB5EDC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{FD88DFA6-FE18-466D-B249-14FE2817D45A}"
+ ProjectSection(SolutionItems) = preProject
+ .drone.yml = .drone.yml
+ DayXX.cs.txt = DayXX.cs.txt
+ getday.sh = getday.sh
+ global.json = global.json
+ README.md = README.md
+ EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -28,18 +39,6 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {61373774-3838-4D5E-93BF-5ACCD6A9B58E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {61373774-3838-4D5E-93BF-5ACCD6A9B58E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {61373774-3838-4D5E-93BF-5ACCD6A9B58E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {61373774-3838-4D5E-93BF-5ACCD6A9B58E}.Release|Any CPU.Build.0 = Release|Any CPU
- {531D6CDA-A416-4AF5-ADF9-1F859FD09C20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {531D6CDA-A416-4AF5-ADF9-1F859FD09C20}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {531D6CDA-A416-4AF5-ADF9-1F859FD09C20}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {531D6CDA-A416-4AF5-ADF9-1F859FD09C20}.Release|Any CPU.Build.0 = Release|Any CPU
- {A775D6BA-045F-4DE7-B210-F18A1C4A5962}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A775D6BA-045F-4DE7-B210-F18A1C4A5962}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A775D6BA-045F-4DE7-B210-F18A1C4A5962}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A775D6BA-045F-4DE7-B210-F18A1C4A5962}.Release|Any CPU.Build.0 = Release|Any CPU
{398908AE-A4C2-4811-A17A-C9410A766792}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{398908AE-A4C2-4811-A17A-C9410A766792}.Debug|Any CPU.Build.0 = Debug|Any CPU
{398908AE-A4C2-4811-A17A-C9410A766792}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -48,10 +47,6 @@ Global
{8A2E8FC3-BC6B-4C7D-B7B2-C949DB484C88}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8A2E8FC3-BC6B-4C7D-B7B2-C949DB484C88}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A2E8FC3-BC6B-4C7D-B7B2-C949DB484C88}.Release|Any CPU.Build.0 = Release|Any CPU
- {AF6D6164-420C-45B6-BCF3-1729D7374986}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AF6D6164-420C-45B6-BCF3-1729D7374986}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AF6D6164-420C-45B6-BCF3-1729D7374986}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AF6D6164-420C-45B6-BCF3-1729D7374986}.Release|Any CPU.Build.0 = Release|Any CPU
{8ECC383B-FCF4-4175-BFD2-5EC3DF7A4813}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8ECC383B-FCF4-4175-BFD2-5EC3DF7A4813}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8ECC383B-FCF4-4175-BFD2-5EC3DF7A4813}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -68,9 +63,28 @@ Global
{33F08A7F-FBE8-43C1-812F-DE387D19431D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{33F08A7F-FBE8-43C1-812F-DE387D19431D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{33F08A7F-FBE8-43C1-812F-DE387D19431D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {61373774-3838-4D5E-93BF-5ACCD6A9B58E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {61373774-3838-4D5E-93BF-5ACCD6A9B58E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {61373774-3838-4D5E-93BF-5ACCD6A9B58E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {61373774-3838-4D5E-93BF-5ACCD6A9B58E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {531D6CDA-A416-4AF5-ADF9-1F859FD09C20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {531D6CDA-A416-4AF5-ADF9-1F859FD09C20}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {531D6CDA-A416-4AF5-ADF9-1F859FD09C20}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {531D6CDA-A416-4AF5-ADF9-1F859FD09C20}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A775D6BA-045F-4DE7-B210-F18A1C4A5962}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A775D6BA-045F-4DE7-B210-F18A1C4A5962}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A775D6BA-045F-4DE7-B210-F18A1C4A5962}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A775D6BA-045F-4DE7-B210-F18A1C4A5962}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AF6D6164-420C-45B6-BCF3-1729D7374986}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AF6D6164-420C-45B6-BCF3-1729D7374986}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AF6D6164-420C-45B6-BCF3-1729D7374986}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AF6D6164-420C-45B6-BCF3-1729D7374986}.Release|Any CPU.Build.0 = Release|Any CPU
{0314348C-A3E9-4A0A-B695-F51946EB5EDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0314348C-A3E9-4A0A-B695-F51946EB5EDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0314348C-A3E9-4A0A-B695-F51946EB5EDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0314348C-A3E9-4A0A-B695-F51946EB5EDC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
EndGlobal
diff --git a/DayXX.cs.txt b/DayXX.cs.txt
index 41bb861..fc3a7e7 100644
--- a/DayXX.cs.txt
+++ b/DayXX.cs.txt
@@ -3,12 +3,8 @@ namespace AOCYYYY;
///
/// Day Q:
///
-public sealed class DayXX : Day
+public sealed class DayXX() : Day(YYYY, Q, "Puzzle Name")
{
- public DayXX() : base(YYYY, Q, "Puzzle Name")
- {
- }
-
public override void ProcessInput()
{
}