add Day.ProcessInput() and move everything out of the constructor
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
074d8caf7c
commit
754489dfe7
|
@ -22,16 +22,25 @@ public abstract class Day
|
|||
Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
|
||||
$"input{Year}/{(UseTestInput ? "test" : "day")}{DayNumber,2:00}.in");
|
||||
|
||||
public abstract void ProcessInput();
|
||||
|
||||
public abstract object Part1();
|
||||
public abstract object Part2();
|
||||
|
||||
private void AllParts(bool verbose = true)
|
||||
{
|
||||
Console.WriteLine($"{Year} Day {DayNumber,2}: {PuzzleName}");
|
||||
Console.Write($"{Year} Day {DayNumber,2}: {PuzzleName,-31}");
|
||||
|
||||
var s = Stopwatch.StartNew();
|
||||
ProcessInput();
|
||||
s.Stop();
|
||||
Console.WriteLine($"{s.ScaleMilliseconds()}ms elapsed processing input");
|
||||
s.Reset();
|
||||
|
||||
s.Start();
|
||||
var part1 = Part1();
|
||||
s.Stop();
|
||||
Console.Write($"Part 1: {part1,-25} ");
|
||||
Console.Write($"Part 1: {part1,-35} ");
|
||||
Console.WriteLine(verbose ? $"{s.ScaleMilliseconds()}ms elapsed" : "");
|
||||
|
||||
s.Reset();
|
||||
|
@ -39,7 +48,7 @@ public abstract class Day
|
|||
s.Start();
|
||||
var part2 = Part2();
|
||||
s.Stop();
|
||||
Console.Write($"Part 2: {part2,-25} ");
|
||||
Console.Write($"Part 2: {part2,-35} ");
|
||||
Console.WriteLine(verbose ? $"{s.ScaleMilliseconds()}ms elapsed" : "");
|
||||
|
||||
Console.WriteLine();
|
||||
|
|
|
@ -5,13 +5,15 @@ public static class Common
|
|||
public static void CheckDay(Type dayType, string part1, string part2, bool testInput = false)
|
||||
{
|
||||
Day.UseTestInput = testInput;
|
||||
var s = Stopwatch.StartNew();
|
||||
var day = Activator.CreateInstance(dayType) as Day;
|
||||
s.Stop();
|
||||
Assert.IsNotNull(day, "failed to instantiate day object");
|
||||
Assert.IsTrue(File.Exists(day.FileName), $"File.Exists(day.FileName) {day.FileName}");
|
||||
Console.Write($"{day.Year} Day {day.DayNumber,2}: {day.PuzzleName,-25} ");
|
||||
Console.WriteLine($"{s.ScaleMilliseconds()} ms elapsed in constructor");
|
||||
|
||||
var s = Stopwatch.StartNew();
|
||||
day.ProcessInput();
|
||||
s.Stop();
|
||||
Console.WriteLine($"{s.ScaleMilliseconds()} ms elapsed processing input");
|
||||
|
||||
// part 1
|
||||
s.Reset();
|
||||
|
|
|
@ -6,6 +6,10 @@ public class Day01 : Day
|
|||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1()
|
||||
{
|
||||
var floor = 0;
|
||||
|
|
|
@ -5,16 +5,20 @@ namespace AOC2015;
|
|||
/// </summary>
|
||||
public sealed class Day02 : Day
|
||||
{
|
||||
private readonly List<List<int>> _gifts;
|
||||
private List<List<int>>? _gifts;
|
||||
|
||||
public Day02() : base(2015, 2, "I Was Told There Would Be No Math")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
_gifts = Input.Select(line => line.Split('x').Select(int.Parse).ToList()).ToList();
|
||||
}
|
||||
|
||||
public override object Part1()
|
||||
{
|
||||
return _gifts.Sum(gift =>
|
||||
return _gifts!.Sum(gift =>
|
||||
{
|
||||
var biggestDimension = gift.IndexOf(gift.Max());
|
||||
|
||||
|
@ -33,7 +37,7 @@ public sealed class Day02 : Day
|
|||
|
||||
public override object Part2()
|
||||
{
|
||||
return _gifts.Sum(gift =>
|
||||
return _gifts!.Sum(gift =>
|
||||
{
|
||||
var biggestDimension = gift.IndexOf(gift.Max());
|
||||
var bowArea = gift.Aggregate(1, (i, i1) => i * i1);
|
||||
|
|
|
@ -9,6 +9,10 @@ public sealed class Day03 : Day
|
|||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1()
|
||||
{
|
||||
int x = 0, y = 0;
|
||||
|
|
|
@ -7,22 +7,25 @@ namespace AOC2015;
|
|||
/// </summary>
|
||||
public sealed class Day04 : Day
|
||||
{
|
||||
private readonly string _key;
|
||||
private string? _key;
|
||||
|
||||
public Day04() : base(2015, 4, "The Ideal Stocking Stuffer")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
_key = Input.First();
|
||||
}
|
||||
|
||||
public override object Part1()
|
||||
{
|
||||
var md5 = MD5.Create();
|
||||
var counter = 0;
|
||||
|
||||
while (true)
|
||||
{
|
||||
var hash = md5.ComputeHash(Encoding.ASCII.GetBytes(_key + counter));
|
||||
if (BitConverter.ToString(hash).Replace("-", "").StartsWith("00000"))
|
||||
var hash = MD5.HashData(Encoding.ASCII.GetBytes(_key + counter));
|
||||
if (BitConverter.ToString(hash).Replace("-", "").StartsWith("00000"))
|
||||
return counter;
|
||||
counter++;
|
||||
}
|
||||
|
@ -30,12 +33,11 @@ public sealed class Day04 : Day
|
|||
|
||||
public override object Part2()
|
||||
{
|
||||
var md5 = MD5.Create();
|
||||
var counter = 0;
|
||||
|
||||
while (true)
|
||||
{
|
||||
var hash = md5.ComputeHash(Encoding.ASCII.GetBytes(_key + counter));
|
||||
var hash = MD5.HashData(Encoding.ASCII.GetBytes(_key + counter));
|
||||
if (BitConverter.ToString(hash).Replace("-", "").StartsWith("000000"))
|
||||
return counter;
|
||||
counter++;
|
||||
|
|
|
@ -5,9 +5,13 @@ namespace AOC2015;
|
|||
/// </summary>
|
||||
public sealed partial class Day05 : Day
|
||||
{
|
||||
private readonly List<string> _strings;
|
||||
private static readonly List<char> Vowels = new() { 'a', 'e', 'i', 'o', 'u' };
|
||||
|
||||
private List<string> _strings = new();
|
||||
|
||||
public Day05() : base(2015, 5, "Doesn't He Have Intern-Elves For This?")
|
||||
{
|
||||
}
|
||||
|
||||
[GeneratedRegex(@"(.)\1")]
|
||||
private static partial Regex DoubleLetter();
|
||||
|
||||
|
@ -17,7 +21,7 @@ public sealed partial class Day05 : Day
|
|||
[GeneratedRegex(@"(..).*\1")]
|
||||
private static partial Regex TwoPairs();
|
||||
|
||||
public Day05() : base(2015, 5, "Doesn't He Have Intern-Elves For This?")
|
||||
public override void ProcessInput()
|
||||
{
|
||||
_strings = Input.Where(line => !string.IsNullOrEmpty(line)).ToList();
|
||||
}
|
||||
|
|
|
@ -5,13 +5,17 @@ namespace AOC2015;
|
|||
/// </summary>
|
||||
public sealed partial class Day06 : Day
|
||||
{
|
||||
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();
|
||||
|
||||
private readonly Dictionary<(int x, int y), bool> _lightGrid = new();
|
||||
private readonly Dictionary<(int x, int y), int> _brightnessGrid = new();
|
||||
|
||||
public Day06() : base(2015, 6, "Probably a Fire Hazard")
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -5,13 +5,17 @@ namespace AOC2015;
|
|||
/// </summary>
|
||||
public sealed class Day07 : Day
|
||||
{
|
||||
private readonly Dictionary<string, ushort> _wires = new();
|
||||
private readonly Dictionary<string, Func<ushort>> _actions = new();
|
||||
private readonly Dictionary<string, ushort> _wires = new();
|
||||
|
||||
public Day07() : base(2015, 7, "Some Assembly Required")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1()
|
||||
{
|
||||
ProcessInstructions();
|
||||
|
|
|
@ -5,10 +5,14 @@ namespace AOC2015;
|
|||
/// </summary>
|
||||
public sealed partial class Day08 : Day
|
||||
{
|
||||
public Day08() : base(2015, 8, "Matchsticks")
|
||||
{
|
||||
}
|
||||
|
||||
[GeneratedRegex(@"^""(\\x..|\\.|.)*""$")]
|
||||
private static partial Regex CharSet();
|
||||
|
||||
public Day08() : base(2015, 8, "Matchsticks")
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -5,11 +5,14 @@ namespace AOC2015;
|
|||
/// </summary>
|
||||
public sealed class Day09 : Day
|
||||
{
|
||||
private record Distance(string Start, string End, int Length);
|
||||
private readonly List<Distance> _distances = new();
|
||||
private readonly int _shortest = int.MaxValue, _longest;
|
||||
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(' ')))
|
||||
{
|
||||
|
@ -34,4 +37,6 @@ public sealed class Day09 : Day
|
|||
public override object Part1() => _shortest;
|
||||
|
||||
public override object Part2() => _longest;
|
||||
|
||||
private record Distance(string Start, string End, int Length);
|
||||
}
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day10 : Day
|
|||
private string _seed;
|
||||
|
||||
public Day10() : base(2015, 10, "Elves Look, Elves Say")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
_seed = Input.First();
|
||||
}
|
||||
|
@ -50,4 +54,4 @@ public sealed class Day10 : Day
|
|||
yield return count;
|
||||
yield return currentDigit - '0';
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,23 +5,27 @@ namespace AOC2015;
|
|||
/// </summary>
|
||||
public sealed class Day11 : Day
|
||||
{
|
||||
private char[] _password;
|
||||
private char[]? _password;
|
||||
|
||||
public Day11() : base(2015, 11, "Corporate Policy")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
_password = Input.First().ToCharArray();
|
||||
}
|
||||
|
||||
public override object Part1()
|
||||
{
|
||||
while (!IsValid(ref _password)) Increment(ref _password);
|
||||
while (!IsValid(ref _password!)) Increment(ref _password);
|
||||
|
||||
return new string(_password);
|
||||
}
|
||||
|
||||
public override object Part2()
|
||||
{
|
||||
Increment(ref _password);
|
||||
Increment(ref _password!);
|
||||
while (!IsValid(ref _password)) Increment(ref _password);
|
||||
|
||||
return new string(_password);
|
||||
|
|
|
@ -15,6 +15,10 @@ public sealed partial class Day12 : Day
|
|||
[GeneratedRegex(@"-?\d+")]
|
||||
private static partial Regex Digits();
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() =>
|
||||
Digits().Matches(Input.First()).Sum(n => int.Parse(n.Value));
|
||||
|
||||
|
|
|
@ -11,6 +11,10 @@ public sealed class Day13 : Day
|
|||
private readonly List<string> _people = new();
|
||||
|
||||
public Day13() : base(2015, 13, "Knights of the Dinner Table")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
foreach (var line in Input)
|
||||
AddToHappinessMap(line);
|
||||
|
|
|
@ -5,19 +5,23 @@ namespace AOC2015;
|
|||
/// </summary>
|
||||
public sealed class Day14 : Day
|
||||
{
|
||||
private readonly List<Reindeer> _reindeer;
|
||||
private List<Reindeer>? _reindeer;
|
||||
|
||||
public Day14() : base(2015, 14, "Reindeer Olympics")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
_reindeer = Input.Select(i => new Reindeer(i)).ToList();
|
||||
}
|
||||
|
||||
public override object Part1() =>
|
||||
_reindeer.Select(r => r.Fly(2503)).Max();
|
||||
_reindeer!.Select(r => r.Fly(2503)).Max();
|
||||
|
||||
public override object Part2() =>
|
||||
Enumerable.Range(1, 2503)
|
||||
.SelectMany(time => _reindeer.GroupBy(r => r.Fly(time)).OrderByDescending(r => r.Key).First())
|
||||
.SelectMany(time => _reindeer!.GroupBy(r => r.Fly(time)).OrderByDescending(r => r.Key).First())
|
||||
.GroupBy(r => r)
|
||||
.Max(g => g.Count());
|
||||
|
||||
|
|
|
@ -5,25 +5,33 @@ namespace AOC2015;
|
|||
/// </summary>
|
||||
public sealed partial class Day15 : Day
|
||||
{
|
||||
[GeneratedRegex(@"-?\d+")]
|
||||
private static partial Regex Digits();
|
||||
|
||||
private record Ingredient(string Name, int Capacity, int Durability, int Flavor, int Texture, int Calories);
|
||||
|
||||
private readonly List<Ingredient> _ingredients;
|
||||
private readonly int _best;
|
||||
private readonly int _best500Cals;
|
||||
private int _best;
|
||||
private int _best500Cals;
|
||||
|
||||
public Day15() : base(2015, 15, "Science for Hungry People")
|
||||
{
|
||||
_ingredients = Input.Select(ParseIngredient).ToList();
|
||||
}
|
||||
|
||||
var quantities = new int[_ingredients.Count];
|
||||
[GeneratedRegex(@"-?\d+")]
|
||||
private static partial Regex Digits();
|
||||
|
||||
private static Ingredient ParseIngredient(string line)
|
||||
{
|
||||
var s = line.Split(':');
|
||||
var nums = Digits().Matches(s[1]).Select(match => int.Parse(match.Value)).ToList();
|
||||
|
||||
return new(s[0], nums[0], nums[1], nums[2], nums[3], nums[4]);
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
var ingredients = Input.Select(ParseIngredient).ToList();
|
||||
var quantities = new int[ingredients.Count];
|
||||
_best = 0;
|
||||
|
||||
while (true)
|
||||
{
|
||||
for (var i = 0; i < _ingredients.Count; i++)
|
||||
for (var i = 0; i < ingredients.Count; i++)
|
||||
{
|
||||
quantities[i]++;
|
||||
if (quantities[i] > 100)
|
||||
|
@ -31,17 +39,17 @@ public sealed partial class Day15 : Day
|
|||
else break;
|
||||
}
|
||||
|
||||
var quantityApplied = quantities.Take(_ingredients.Count - 1).Sum();
|
||||
var quantityApplied = quantities.Take(ingredients.Count - 1).Sum();
|
||||
if (quantityApplied == 0) break;
|
||||
if (quantityApplied > 100) continue;
|
||||
|
||||
quantities[^1] = 100 - quantityApplied;
|
||||
|
||||
int cap = 0, dur = 0, fla = 0, tex = 0, cal = 0;
|
||||
for (var j = 0; j < _ingredients.Count; j++)
|
||||
for (var j = 0; j < ingredients.Count; j++)
|
||||
{
|
||||
var q = quantities[j];
|
||||
var i = _ingredients[j];
|
||||
var i = ingredients[j];
|
||||
|
||||
cap += q * i.Capacity;
|
||||
dur += q * i.Durability;
|
||||
|
@ -57,15 +65,9 @@ public sealed partial class Day15 : Day
|
|||
}
|
||||
}
|
||||
|
||||
private static Ingredient ParseIngredient(string line)
|
||||
{
|
||||
var s = line.Split(':');
|
||||
var nums = Digits().Matches(s[1]).Select(match => int.Parse(match.Value)).ToList();
|
||||
|
||||
return new(s[0], nums[0], nums[1], nums[2], nums[3], nums[4]);
|
||||
}
|
||||
|
||||
public override object Part1() => _best;
|
||||
|
||||
public override object Part2() => _best500Cals;
|
||||
|
||||
private record Ingredient(string Name, int Capacity, int Durability, int Flavor, int Texture, int Calories);
|
||||
}
|
||||
|
|
|
@ -9,6 +9,10 @@ public sealed class Day16 : Day
|
|||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
public override object Part2() => "";
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day17 : Day
|
|||
public Day17() : base(2015, 17, "No Such Thing as Too Much")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day18 : Day
|
|||
public Day18() : base(2015, 18, "Like a GIF For Your Yard")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day19 : Day
|
|||
public Day19() : base(2015, 19, "Medicine for Rudolph")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day20 : Day
|
|||
public Day20() : base(2015, 20, "Infinite Elves and Infinite Houses")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day21 : Day
|
|||
public Day21() : base(2015, 21, "RPG Simulator 20XX")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day22 : Day
|
|||
public Day22() : base(2015, 22, "Wizard Simulator 20XX")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day23 : Day
|
|||
public Day23() : base(2015, 23, "Opening the Turing Lock")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day24 : Day
|
|||
public Day24() : base(2015, 24, "It Hangs in the Balance")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day25 : Day
|
|||
public Day25() : base(2015, 25, "Let It Snow")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day01 : Day
|
|||
public Day01() : base(2016, 1, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day02 : Day
|
|||
public Day02() : base(2016, 2, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day03 : Day
|
|||
public Day03() : base(2016, 3, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day04 : Day
|
|||
public Day04() : base(2016, 4, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day05 : Day
|
|||
public Day05() : base(2016, 5, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day06 : Day
|
|||
public Day06() : base(2016, 6, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day07 : Day
|
|||
public Day07() : base(2016, 7, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day08 : Day
|
|||
public Day08() : base(2016, 8, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day09 : Day
|
|||
public Day09() : base(2016, 9, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day10 : Day
|
|||
public Day10() : base(2016, 10, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day11 : Day
|
|||
public Day11() : base(2016, 11, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day12 : Day
|
|||
public Day12() : base(2016, 12, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day13 : Day
|
|||
public Day13() : base(2016, 13, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day14 : Day
|
|||
public Day14() : base(2016, 14, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day15 : Day
|
|||
public Day15() : base(2016, 15, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day16 : Day
|
|||
public Day16() : base(2016, 16, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day17 : Day
|
|||
public Day17() : base(2016, 17, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day18 : Day
|
|||
public Day18() : base(2016, 18, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day19 : Day
|
|||
public Day19() : base(2016, 19, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day20 : Day
|
|||
public Day20() : base(2016, 20, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day21 : Day
|
|||
public Day21() : base(2016, 21, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,7 +8,11 @@ public sealed class Day22 : Day
|
|||
public Day22() : base(2016, 22, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
public override object Part2() => "";
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day23 : Day
|
|||
public Day23() : base(2016, 23, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day24 : Day
|
|||
public Day24() : base(2016, 24, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day25 : Day
|
|||
public Day25() : base(2016, 25, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day01 : Day
|
|||
public Day01() : base(2017, 1, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day02 : Day
|
|||
public Day02() : base(2017, 2, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day03 : Day
|
|||
public Day03() : base(2017, 3, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day04 : Day
|
|||
public Day04() : base(2017, 4, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day05 : Day
|
|||
public Day05() : base(2017, 5, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day06 : Day
|
|||
public Day06() : base(2017, 6, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day07 : Day
|
|||
public Day07() : base(2017, 7, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day08 : Day
|
|||
public Day08() : base(2017, 8, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day09 : Day
|
|||
public Day09() : base(2017, 9, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day10 : Day
|
|||
public Day10() : base(2017, 10, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day11 : Day
|
|||
public Day11() : base(2017, 11, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day12 : Day
|
|||
public Day12() : base(2017, 12, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day13 : Day
|
|||
public Day13() : base(2017, 13, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day14 : Day
|
|||
public Day14() : base(2017, 14, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day15 : Day
|
|||
public Day15() : base(2017, 15, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day16 : Day
|
|||
public Day16() : base(2017, 16, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day17 : Day
|
|||
public Day17() : base(2017, 17, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day18 : Day
|
|||
public Day18() : base(2017, 18, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day19 : Day
|
|||
public Day19() : base(2017, 19, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day20 : Day
|
|||
public Day20() : base(2017, 20, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day21 : Day
|
|||
public Day21() : base(2017, 21, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day22 : Day
|
|||
public Day22() : base(2017, 22, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day23 : Day
|
|||
public Day23() : base(2017, 23, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day24 : Day
|
|||
public Day24() : base(2017, 24, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day25 : Day
|
|||
public Day25() : base(2017, 25, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day01 : Day
|
|||
public Day01() : base(2018, 1, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day02 : Day
|
|||
public Day02() : base(2018, 2, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day03 : Day
|
|||
public Day03() : base(2018, 3, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day04 : Day
|
|||
public Day04() : base(2018, 4, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day05 : Day
|
|||
public Day05() : base(2018, 5, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day06 : Day
|
|||
public Day06() : base(2018, 6, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day07 : Day
|
|||
public Day07() : base(2018, 7, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day08 : Day
|
|||
public Day08() : base(2018, 8, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day09 : Day
|
|||
public Day09() : base(2018, 9, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day10 : Day
|
|||
public Day10() : base(2018, 10, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day11 : Day
|
|||
public Day11() : base(2018, 11, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day12 : Day
|
|||
public Day12() : base(2018, 12, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day13 : Day
|
|||
public Day13() : base(2018, 13, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day14 : Day
|
|||
public Day14() : base(2018, 14, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day15 : Day
|
|||
public Day15() : base(2018, 15, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day16 : Day
|
|||
public Day16() : base(2018, 16, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day17 : Day
|
|||
public Day17() : base(2018, 17, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day18 : Day
|
|||
public Day18() : base(2018, 18, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day19 : Day
|
|||
public Day19() : base(2018, 19, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day20 : Day
|
|||
public Day20() : base(2018, 20, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day21 : Day
|
|||
public Day21() : base(2018, 21, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day22 : Day
|
|||
public Day22() : base(2018, 22, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ public sealed class Day23 : Day
|
|||
public Day23() : base(2018, 23, "Puzzle Name")
|
||||
{
|
||||
}
|
||||
|
||||
public override void ProcessInput()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue