Example #1
0
        public void DoItA() // 264384, found after 4 minutes.  yikes.
        {
            //return;
            var day = new Day15b();

            Console.WriteLine(day.SolveA(InputData.Day15));
        }
Example #2
0
        public void PartATests(string input, int expectedOutput)
        {
            var day    = new Day15b();
            var result = day.SolveA(input);

            Assert.AreEqual(expectedOutput, result);
        }
Example #3
0
        public void DoItB() // 67022, 22 minutes.  AP = 20
        {
            // 1 - 200
            // 2 - 100
            // 3 - 67
            // 4 - 50
            // 5 - 40
            // 6 - 34
            // 7 - 29
            // 8 - 25
            // 9 - 23
            // 10 - 20
            // 11 - 19
            // 12 - 17
            // 13 - 16
            // 14 - 15

            var elfAps = new List <int> {
                3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
                15, 16, 17, 19, 20, 23, 25, 29, 34, 40, 50, 67,
                100, 200
            };

            var day = new Day15b();

            foreach (var i in elfAps)
            {
                var result = day.SolveB(InputData.Day15, i);
                if (result > 0)
                {
                    Console.WriteLine($"Success with AP {i}!");
                    Console.WriteLine(result);
                    return;
                }
                Console.WriteLine($"With AP {i}, an elf died.");
            }
        }