set Part1() and Part2() to protected

This commit is contained in:
Ben Harris 2020-12-02 01:58:54 -05:00
parent 5c58a0cfea
commit 0957ac4c44
Signed by: ben
GPG Key ID: 4E0AF802FFF7960C
17 changed files with 35 additions and 35 deletions

6
Day.cs
View File

@ -9,7 +9,7 @@ namespace aoc2019
{ {
public abstract int DayNumber { get; } public abstract int DayNumber { get; }
public virtual IEnumerable<string> Input => protected virtual IEnumerable<string> Input =>
File.ReadLines($"input/day{DayNumber}.in"); File.ReadLines($"input/day{DayNumber}.in");
public virtual void AllParts(bool verbose = false) public virtual void AllParts(bool verbose = false)
@ -31,7 +31,7 @@ namespace aoc2019
Console.WriteLine(); Console.WriteLine();
} }
public abstract string Part1(); protected abstract string Part1();
public abstract string Part2(); protected abstract string Part2();
} }
} }

View File

@ -32,12 +32,12 @@ namespace aoc2019
return total; return total;
} }
public override string Part1() protected override string Part1()
{ {
return $"{masses.Sum(FuelCost)}"; return $"{masses.Sum(FuelCost)}";
} }
public override string Part2() protected override string Part2()
{ {
return $"{masses.Sum(FullCost)}"; return $"{masses.Sum(FullCost)}";
} }

View File

@ -23,7 +23,7 @@ namespace aoc2019
public override int DayNumber => 10; public override int DayNumber => 10;
public override string Part1() protected override string Part1()
{ {
foreach (var asteroid in asteroids) foreach (var asteroid in asteroids)
{ {
@ -43,7 +43,7 @@ namespace aoc2019
return $"{bestcansee}"; return $"{bestcansee}";
} }
public override string Part2() protected override string Part2()
{ {
static IEnumerable<(int x, int y, double angle, double dist)> GetValue( static IEnumerable<(int x, int y, double angle, double dist)> GetValue(
Queue<(int x, int y, double angle, double dist)> q) Queue<(int x, int y, double angle, double dist)> q)

View File

@ -80,12 +80,12 @@ namespace aoc2019
return map; return map;
} }
public override string Part1() protected override string Part1()
{ {
return $"{PaintShip(0).Count}"; return $"{PaintShip(0).Count}";
} }
public override string Part2() protected override string Part2()
{ {
var map = PaintShip(1); var map = PaintShip(1);
var minX = (int) map.Keys.Select(x => x.x).Min(); var minX = (int) map.Keys.Select(x => x.x).Min();

View File

@ -53,7 +53,7 @@ namespace aoc2019
step++; step++;
} }
public override string Part1() protected override string Part1()
{ {
while (step < 1000) while (step < 1000)
Step(); Step();
@ -61,7 +61,7 @@ namespace aoc2019
return $"{moons.Sum(p => p.TotalEnergy)}"; return $"{moons.Sum(p => p.TotalEnergy)}";
} }
public override string Part2() protected override string Part2()
{ {
int cycleX = 0, cycleY = 0, cycleZ = 0; int cycleX = 0, cycleY = 0, cycleZ = 0;

View File

@ -55,14 +55,14 @@ namespace aoc2019
} }
} }
public override string Part1() protected override string Part1()
{ {
vm.Reset(); vm.Reset();
vm.Run(); vm.Run();
return $"{vm.output.Where((v, i) => (i + 1) % 3 == 0 && v == 2).Count()}"; return $"{vm.output.Where((v, i) => (i + 1) % 3 == 0 && v == 2).Count()}";
} }
public override string Part2() protected override string Part2()
{ {
vm.Reset(); vm.Reset();
vm.memory[0] = 2; vm.memory[0] = 2;

View File

@ -50,14 +50,14 @@ namespace aoc2019
return true; return true;
} }
public override string Part1() protected override string Part1()
{ {
available = new Dictionary<string, long> {{"ORE", long.MaxValue}}; available = new Dictionary<string, long> {{"ORE", long.MaxValue}};
Consume("FUEL", 1); Consume("FUEL", 1);
return $"{long.MaxValue - available["ORE"]}"; return $"{long.MaxValue - available["ORE"]}";
} }
public override string Part2() protected override string Part2()
{ {
const long capacity = 1_000_000_000_000; const long capacity = 1_000_000_000_000;
available = new Dictionary<string, long> {{"ORE", capacity}}; available = new Dictionary<string, long> {{"ORE", capacity}};

View File

@ -14,12 +14,12 @@ namespace aoc2019
public override int DayNumber => 15; public override int DayNumber => 15;
public override string Part1() protected override string Part1()
{ {
return "intcode solution"; return "intcode solution";
} }
public override string Part2() protected override string Part2()
{ {
return ""; return "";
} }

View File

@ -4,12 +4,12 @@ namespace aoc2019
{ {
public override int DayNumber => 16; public override int DayNumber => 16;
public override string Part1() protected override string Part1()
{ {
return ""; return "";
} }
public override string Part2() protected override string Part2()
{ {
return ""; return "";
} }

View File

@ -30,12 +30,12 @@ namespace aoc2019
return v[0]; return v[0];
} }
public override string Part1() protected override string Part1()
{ {
return $"{RunIntCode(12, 2)}"; return $"{RunIntCode(12, 2)}";
} }
public override string Part2() protected override string Part2()
{ {
for (var i = 0; i < 100; i++) for (var i = 0; i < 100; i++)
for (var j = 0; j < 100; j++) for (var j = 0; j < 100; j++)

View File

@ -17,12 +17,12 @@ namespace aoc2019
public override int DayNumber => 3; public override int DayNumber => 3;
public override string Part1() protected override string Part1()
{ {
return $"{intersections.Min(x => Math.Abs(x.Item1) + Math.Abs(x.Item2))}"; return $"{intersections.Min(x => Math.Abs(x.Item1) + Math.Abs(x.Item2))}";
} }
public override string Part2() protected override string Part2()
{ {
// add 2 to count (0, 0) on both lines // add 2 to count (0, 0) on both lines
return $"{intersections.Min(x => wires[0][x] + wires[1][x]) + 2}"; return $"{intersections.Min(x => wires[0][x] + wires[1][x]) + 2}";

View File

@ -38,12 +38,12 @@ namespace aoc2019
return IsValid(i) && s.Select(c => s.Count(j => j == c)).Any(c => c == 2); return IsValid(i) && s.Select(c => s.Count(j => j == c)).Any(c => c == 2);
} }
public override string Part1() protected override string Part1()
{ {
return $"{Enumerable.Range(start, end).Count(IsValid)}"; return $"{Enumerable.Range(start, end).Count(IsValid)}";
} }
public override string Part2() protected override string Part2()
{ {
return $"{Enumerable.Range(start, end).Count(HasOnePair)}"; return $"{Enumerable.Range(start, end).Count(HasOnePair)}";
} }

View File

@ -65,13 +65,13 @@ namespace aoc2019
} }
} }
public override string Part1() protected override string Part1()
{ {
RunIntCode(tape.ToList(), 1); RunIntCode(tape.ToList(), 1);
return $"{output}"; return $"{output}";
} }
public override string Part2() protected override string Part2()
{ {
RunIntCode(tape.ToList(), 5); RunIntCode(tape.ToList(), 5);
return $"{output}"; return $"{output}";

View File

@ -23,12 +23,12 @@ namespace aoc2019
return res; return res;
} }
public override string Part1() protected override string Part1()
{ {
return $"{input.Keys.Sum(o => GetParents(o).Count - 1)}"; return $"{input.Keys.Sum(o => GetParents(o).Count - 1)}";
} }
public override string Part2() protected override string Part2()
{ {
var you = GetParents("YOU"); var you = GetParents("YOU");
var san = GetParents("SAN"); var san = GetParents("SAN");

View File

@ -16,7 +16,7 @@ namespace aoc2019
public override int DayNumber => 7; public override int DayNumber => 7;
public override string Part1() protected override string Part1()
{ {
long i, largest = 0; long i, largest = 0;
@ -37,7 +37,7 @@ namespace aoc2019
return $"{largest}"; return $"{largest}";
} }
public override string Part2() protected override string Part2()
{ {
long i, largest = 0; long i, largest = 0;

View File

@ -16,13 +16,13 @@ namespace aoc2019
public override int DayNumber => 8; public override int DayNumber => 8;
public override string Part1() protected override string Part1()
{ {
var l = photo.OrderBy(layer => layer.Count(pixel => pixel == '0')).First(); var l = photo.OrderBy(layer => layer.Count(pixel => pixel == '0')).First();
return $"{l.Count(p => p == '1') * l.Count(p => p == '2')}"; return $"{l.Count(p => p == '1') * l.Count(p => p == '2')}";
} }
public override string Part2() protected override string Part2()
{ {
return Enumerable.Range(0, 25 * 6) return Enumerable.Range(0, 25 * 6)
.Select(p => Enumerable.Range(0, photo.Count) .Select(p => Enumerable.Range(0, photo.Count)

View File

@ -14,14 +14,14 @@ namespace aoc2019
public override int DayNumber => 9; public override int DayNumber => 9;
public override string Part1() protected override string Part1()
{ {
vm.Reset(); vm.Reset();
vm.Run(1); vm.Run(1);
return $"{vm.output.ToDelimitedString(",")}"; return $"{vm.output.ToDelimitedString(",")}";
} }
public override string Part2() protected override string Part2()
{ {
vm.Reset(); vm.Reset();
vm.Run(2); vm.Run(2);