From 837527d487c7e232b36dd87c95a15b7852f2e057 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Wed, 16 Dec 2020 17:17:35 -0500 Subject: refactor to two-digit day names and add puzzlename --- Day7.cs | 70 ----------------------------------------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 Day7.cs (limited to 'Day7.cs') diff --git a/Day7.cs b/Day7.cs deleted file mode 100644 index e600361..0000000 --- a/Day7.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using aoc2019.lib; - -namespace aoc2019 -{ - internal sealed class Day7 : Day - { - private readonly IntCodeVM[] Amplifiers = new IntCodeVM[5]; - - public Day7() - { - for (var i = 0; i < 5; i++) Amplifiers[i] = new IntCodeVM(Input.First()); - } - - public override int DayNumber => 7; - - - protected override string Part1() - { - long i, largest = 0; - - foreach (var phaseSeq in Enumerable.Range(0, 5).Permute()) - { - i = 0; - foreach (var (vm, phase) in Amplifiers.Zip(phaseSeq)) - { - vm.Reset(); - vm.Run(phase, i); - i = vm.Result; - } - - if (i > largest) - largest = i; - } - - return $"{largest}"; - } - - protected override string Part2() - { - long i, largest = 0; - - foreach (var phaseSeq in Enumerable.Range(5, 5).Permute()) - { - i = 0; - foreach (var (vm, phase) in Amplifiers.Zip(phaseSeq)) - { - vm.Reset(); - vm.AddInput(phase); - } - - var vms = new Queue(Amplifiers); - while (vms.Count > 0) - { - var vm = vms.Dequeue(); - var haltType = vm.Run(i); - if (haltType == IntCodeVM.HaltType.Waiting) - vms.Enqueue(vm); - i = vm.Result; - } - - if (i > largest) - largest = i; - } - - return $"{largest}"; - } - } -} \ No newline at end of file -- cgit 1.4.1