print puzzle name in output
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
18311ecbac
commit
85f34fbd3a
|
@ -7,12 +7,14 @@ namespace aoc2020
|
|||
{
|
||||
public abstract class Day
|
||||
{
|
||||
protected Day(int dayNumber)
|
||||
protected Day(int dayNumber, string puzzleName)
|
||||
{
|
||||
DayNumber = dayNumber;
|
||||
PuzzleName = puzzleName;
|
||||
}
|
||||
|
||||
public int DayNumber { get; }
|
||||
public string PuzzleName { get; }
|
||||
|
||||
protected IEnumerable<string> Input =>
|
||||
File.ReadLines(FileName);
|
||||
|
@ -25,7 +27,7 @@ namespace aoc2020
|
|||
|
||||
public void AllParts(bool verbose = true)
|
||||
{
|
||||
Console.WriteLine($"Day {DayNumber}:");
|
||||
Console.WriteLine($"Day {DayNumber,2}: {PuzzleName}");
|
||||
var s = Stopwatch.StartNew();
|
||||
var part1 = Part1();
|
||||
s.Stop();
|
||||
|
|
|
@ -4,13 +4,13 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 1: <see href="https://adventofcode.com/2020/day/1">Report Repair</see>
|
||||
/// Day 1: <see href="https://adventofcode.com/2020/day/1" />
|
||||
/// </summary>
|
||||
public sealed class Day01 : Day
|
||||
{
|
||||
private readonly ImmutableHashSet<int> _entries;
|
||||
|
||||
public Day01() : base(1)
|
||||
public Day01() : base(1, "Report Repair")
|
||||
{
|
||||
_entries = Input.Select(int.Parse).ToImmutableHashSet();
|
||||
}
|
||||
|
|
|
@ -4,13 +4,13 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 2: <see href="https://adventofcode.com/2020/day/1">Password Philosophy</see>
|
||||
/// Day 2: <see href="https://adventofcode.com/2020/day/1" />
|
||||
/// </summary>
|
||||
public sealed class Day02 : Day
|
||||
{
|
||||
private readonly ImmutableList<Password> _passwords;
|
||||
|
||||
public Day02() : base(2)
|
||||
public Day02() : base(2, "Password Philosophy")
|
||||
{
|
||||
_passwords = Input.Select(p => new Password(p)).ToImmutableList();
|
||||
}
|
||||
|
|
|
@ -3,14 +3,14 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 3: <see href="https://adventofcode.com/2020/day/3">Toboggan Trajectory</see>
|
||||
/// Day 3: <see href="https://adventofcode.com/2020/day/3" />
|
||||
/// </summary>
|
||||
public sealed class Day03 : Day
|
||||
{
|
||||
private readonly string[] _grid;
|
||||
private readonly int _width;
|
||||
|
||||
public Day03() : base(3)
|
||||
public Day03() : base(3, "Toboggan Trajectory")
|
||||
{
|
||||
_grid = Input.ToArray();
|
||||
_width = _grid[0].Length;
|
||||
|
|
|
@ -6,13 +6,13 @@ using System.Text.RegularExpressions;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 4: <see href="https://adventofcode.com/2020/day/4">Passport Processing</see>
|
||||
/// Day 4: <see href="https://adventofcode.com/2020/day/4" />
|
||||
/// </summary>
|
||||
public sealed class Day04 : Day
|
||||
{
|
||||
private readonly List<Passport> _passports;
|
||||
|
||||
public Day04() : base(4)
|
||||
public Day04() : base(4, "Passport Processing")
|
||||
{
|
||||
_passports = new List<Passport>();
|
||||
|
||||
|
|
|
@ -5,13 +5,13 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 5: <see href="https://adventofcode.com/2020/day/5">Binary Boarding</see>
|
||||
/// Day 5: <see href="https://adventofcode.com/2020/day/5" />
|
||||
/// </summary>
|
||||
public sealed class Day05 : Day
|
||||
{
|
||||
private readonly ImmutableHashSet<int> _ids;
|
||||
|
||||
public Day05() : base(5)
|
||||
public Day05() : base(5, "Binary Boarding")
|
||||
{
|
||||
_ids = Input
|
||||
.Select(s =>
|
||||
|
|
|
@ -4,14 +4,14 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 6: <see href="https://adventofcode.com/2020/day/6">Custom Customs</see>
|
||||
/// Day 6: <see href="https://adventofcode.com/2020/day/6" />
|
||||
/// </summary>
|
||||
public sealed class Day06 : Day
|
||||
{
|
||||
private readonly int _countPart1;
|
||||
private readonly int _countPart2;
|
||||
|
||||
public Day06() : base(6)
|
||||
public Day06() : base(6, "Custom Customs")
|
||||
{
|
||||
var alphabet = "abcedfghijklmnopqrstuvwxyz".ToCharArray();
|
||||
_countPart1 = 0;
|
||||
|
|
|
@ -4,13 +4,13 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 7: <see href="https://adventofcode.com/2020/day/7">Handy Haversacks</see>
|
||||
/// Day 7: <see href="https://adventofcode.com/2020/day/7" />
|
||||
/// </summary>
|
||||
public sealed class Day07 : Day
|
||||
{
|
||||
private readonly Dictionary<string, IEnumerable<(int, string)?>> _rules;
|
||||
|
||||
public Day07() : base(7)
|
||||
public Day07() : base(7, "Handy Haversacks")
|
||||
{
|
||||
_rules = Input.Select(rule =>
|
||||
{
|
||||
|
|
|
@ -3,7 +3,7 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 8: <see href="https://adventofcode.com/2020/day/8">Handheld Halting</see>
|
||||
/// Day 8: <see href="https://adventofcode.com/2020/day/8" />
|
||||
/// </summary>
|
||||
public sealed class Day08 : Day
|
||||
{
|
||||
|
@ -11,7 +11,7 @@ namespace aoc2020
|
|||
private int _accumulator;
|
||||
private int _currentInstruction;
|
||||
|
||||
public Day08() : base(8)
|
||||
public Day08() : base(8, "Handheld Halting")
|
||||
{
|
||||
_instructions = Input.Select(ParseLine).ToArray();
|
||||
}
|
||||
|
|
|
@ -3,14 +3,14 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 9: <see href="https://adventofcode.com/2020/day/9">Encoding Error</see>
|
||||
/// Day 9: <see href="https://adventofcode.com/2020/day/9" />
|
||||
/// </summary>
|
||||
public sealed class Day09 : Day
|
||||
{
|
||||
private readonly long[] _list;
|
||||
private long _part1;
|
||||
|
||||
public Day09() : base(9)
|
||||
public Day09() : base(9, "Encoding Error")
|
||||
{
|
||||
_list = Input.Select(long.Parse).ToArray();
|
||||
}
|
||||
|
|
|
@ -4,14 +4,14 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 10: <see href="https://adventofcode.com/2020/day/10">Adapter Array</see>
|
||||
/// Day 10: <see href="https://adventofcode.com/2020/day/10" />
|
||||
/// </summary>
|
||||
public sealed class Day10 : Day
|
||||
{
|
||||
private readonly int[] _adapters;
|
||||
private readonly long[] _memo;
|
||||
|
||||
public Day10() : base(10)
|
||||
public Day10() : base(10, "Adapter Array")
|
||||
{
|
||||
var parsed = Input.Select(int.Parse).ToArray();
|
||||
// add socket and device to the list
|
||||
|
|
|
@ -5,11 +5,11 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 11: <see href="https://adventofcode.com/2020/day/11">Seating System</see>
|
||||
/// Day 11: <see href="https://adventofcode.com/2020/day/11" />
|
||||
/// </summary>
|
||||
public sealed class Day11 : Day
|
||||
{
|
||||
public Day11() : base(11)
|
||||
public Day11() : base(11, "Seating System")
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@ using System;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 12: <see href="https://adventofcode.com/2020/day/12">Rain Risk</see>
|
||||
/// Day 12: <see href="https://adventofcode.com/2020/day/12" />
|
||||
/// </summary>
|
||||
public sealed class Day12 : Day
|
||||
{
|
||||
public Day12() : base(12)
|
||||
public Day12() : base(12, "Rain Risk")
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 13: <see href="https://adventofcode.com/2020/day/13">Shuttle Search</see>
|
||||
/// Day 13: <see href="https://adventofcode.com/2020/day/13" />
|
||||
/// </summary>
|
||||
public sealed class Day13 : Day
|
||||
{
|
||||
|
@ -11,7 +11,7 @@ namespace aoc2020
|
|||
private readonly long _earliest;
|
||||
private readonly string[] _fullSchedule;
|
||||
|
||||
public Day13() : base(13)
|
||||
public Day13() : base(13, "Shuttle Search")
|
||||
{
|
||||
_earliest = long.Parse(Input.First());
|
||||
_fullSchedule = Input.Last().Split(',');
|
||||
|
|
|
@ -5,11 +5,11 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 14: <see href="https://adventofcode.com/2020/day/14">Docking Data</see>
|
||||
/// Day 14: <see href="https://adventofcode.com/2020/day/14" />
|
||||
/// </summary>
|
||||
public sealed class Day14 : Day
|
||||
{
|
||||
public Day14() : base(14)
|
||||
public Day14() : base(14, "Docking Data")
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 15: <see href="https://adventofcode.com/2020/day/15">Rambunctious Recitation</see>
|
||||
/// Day 15: <see href="https://adventofcode.com/2020/day/15" />
|
||||
/// </summary>
|
||||
public sealed class Day15 : Day
|
||||
{
|
||||
|
@ -11,7 +11,7 @@ namespace aoc2020
|
|||
private int _current;
|
||||
private int _i;
|
||||
|
||||
public Day15() : base(15)
|
||||
public Day15() : base(15, "Rambunctious Recitation")
|
||||
{
|
||||
var initial = Input.First().Split(',').Select(int.Parse).ToArray();
|
||||
_turns = new int[30_000_000];
|
||||
|
|
|
@ -5,14 +5,14 @@ using System.Linq;
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day 16: <see href="https://adventofcode.com/2020/day/16">Ticket Translation</see>
|
||||
/// Day 16: <see href="https://adventofcode.com/2020/day/16" />
|
||||
/// </summary>
|
||||
public sealed class Day16 : Day
|
||||
{
|
||||
private readonly Dictionary<string, List<Range>> _rules;
|
||||
private readonly List<List<int>> _tickets;
|
||||
|
||||
public Day16() : base(16)
|
||||
public Day16() : base(16, "Ticket Translation")
|
||||
{
|
||||
_tickets = new List<List<int>>();
|
||||
_rules = new Dictionary<string, List<Range>>();
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
namespace aoc2020
|
||||
{
|
||||
/// <summary>
|
||||
/// Day X: <see href="https://adventofcode.com/2020/day/X"></see>
|
||||
/// Day X: <see href="https://adventofcode.com/2020/day/X" />
|
||||
/// </summary>
|
||||
public sealed class DayX : Day
|
||||
{
|
||||
public DayX() : base(X)
|
||||
public DayX() : base(X, "")
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -19,4 +19,4 @@ namespace aoc2020
|
|||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue