Beispiel #1
0
        public static void Day13SolutionB()
        {
            Day13Firewall sut      = new Day13Firewall();
            string        pathdata = "Adventday13.txt";

            // 33600
            sut.ParseFirewall(pathdata);
            int  score;
            int  maxLayer = sut.Firewall.Keys.Max();
            long delay    = 0;

            do
            {
                delay++;
                score = 0;
                if (sut.ScannerPosition(delay, 3) == 0)
                {
                    score = 1;
                    Console.WriteLine($"Broke at d: {delay}, layer: 0, s: {score}");
                }
                else
                {
                    for (int i = 0; i < maxLayer + 1; i++)
                    {
                        score = sut.SeverityScore(i + delay, i);
                        if (score > 0)
                        {
                            Console.WriteLine($"Broke at d: {delay}, layer: {i}, s: {score}");
                            break;
                        }
                    }
                }
            } while (score != 0);
            Console.WriteLine($"The delay is {delay}");
        }
Beispiel #2
0
 public void TestSetup()
 {
     sut = new Day13Firewall();
 }