示例#1
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("dayfourteen.txt");
            var test   = InputParser.GetLines("dayfourteen-test.txt");

            RunEmulator(actual);
        }
示例#2
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("daytwelve.txt");
            var test   = InputParser.GetLines("daytwelve-test.txt");

            RunInstructions(actual);
        }
示例#3
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("dayeight.txt");
            var test   = InputParser.GetLines("dayeight-test.txt");

            RunUntilItDoesNotLoop(actual);
        }
示例#4
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("dayeleven.txt");
            var test   = InputParser.GetLines("dayeleven-test.txt");

            RunRoundsUntilStable(actual);
        }
示例#5
0
        public static void Solve()
        {
            var lines       = InputParser.GetLines("daythree.txt");
            var testLines   = InputParser.GetLines("daythree-test.txt");
            var allTreesHit = TraverseMultipleTimes(lines);

            Console.WriteLine(allTreesHit);
        }
示例#6
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("dayeighteen.txt");
            var test   = InputParser.GetLines("dayeighteen-test.txt");

            //CalculateAll(test);
            AnotherSolution.SolveB(actual);
        }
示例#7
0

        
示例#8
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("daynineteen.txt");
            var test   = InputParser.GetLines("daynineteen-test.txt");
            //ParseRules(test);
            var sol = AnotherSolution.Solve(actual);

            Console.WriteLine(sol);
        }
示例#9
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("daysixteen.txt");
            var test   = InputParser.GetLines("daysixteen-test.txt");
            var test2  = InputParser.GetLines("daysixteen-test-two.txt");
            var data   = ParseLines(actual);

            PrintSumOfInvalidNumbers(data);
        }
示例#10
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("dayseventeen.txt");
            var test   = InputParser.GetLines("dayseventeen-test.txt");

            Alternative.Solve(actual);
            //char[,] slice = ParseInputToSlice(actual);
            //RunCycles(slice, 6);
        }
示例#11
0
        public static void Solve()
        {
            var test   = InputParser.GetLines("dayseven-test.txt");
            var actual = InputParser.GetLines("dayseven.txt");

            //var count = FindValidBags("shiny gold", actual);
            GetSumOfContainedBags("shiny gold", actual);
            Console.WriteLine(Counter);
        }
示例#12
0
        public static void Solve()
        {
            var test                   = InputParser.GetLines("dayfour-test.txt");
            var testValidation         = InputParser.GetLines("dayfour-validation-test.txt");
            var actual                 = InputParser.GetLines("dayfour.txt");
            var numberOfValidPassports = ParsePassports(actual);

            Console.WriteLine(numberOfValidPassports);
        }
示例#13
0
        public static void Solve()
        {
            var lines = InputParser.GetLines("daysix.txt");
            var test  = InputParser.GetLines("daysix-test.txt");

            int sum = GetSumOfGroupCounts(lines);

            Console.WriteLine(sum);
        }
示例#14
0

        
示例#15
0
        public static void Solve()
        {
            var actual     = InputParser.GetLines("dayten.txt");
            var smallTest  = InputParser.GetLines("dayten-test-1.txt");
            var largerTest = InputParser.GetLines("dayten-test-2.txt");
            //var result = TryAllAdapters(actual, 3);
            var result = FindCountOfDistinctArrangements(actual, 3);

            Console.WriteLine(result);
        }
示例#16
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("daythirteen.txt");
            var test   = InputParser.GetLines("daythirteen-test.txt");

            var multiTest = InputParser.GetLines("daythirteen-list.txt");

            foreach (string line in multiTest)
            {
                //GetGoldCoinByCheating(line.Split(",").ToList());
            }

            GetGoldCoinByCheating(actual[1].Split(",").ToList());
        }
示例#17
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("daytwentyone.txt");
            var test   = InputParser.GetLines("daytwentyone-test.txt");

            var(allergens, allIngredients, ingredientLists) = ParseAllergens(actual);

            allergens.ForEach(a => a.PopulateAllergenCandidates());

            List <string> notAllergens = new List <string>();

            foreach (string ingredient in allIngredients)
            {
                bool doesAppear = false;
                foreach (Allergen allergen in allergens)
                {
                    doesAppear = allergen.AllergenCandidates.Any(c => c.Equals(ingredient));
                    if (doesAppear is true)
                    {
                        break;
                    }
                }
                if (doesAppear is false)
                {
                    notAllergens.Add(ingredient);
                }
            }

            int count = 0;

            foreach (string ingredient in notAllergens)
            {
                foreach (List <string> ingredientsList in ingredientLists)
                {
                    if (ingredientsList.Any(l => l.Equals(ingredient)))
                    {
                        count++;
                    }
                }
            }

            //Console.WriteLine(count);
            CompileCanonicalList(allergens);
        }
示例#18
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("daytwenty.txt");
            var test   = InputParser.GetLines("daytwenty-test.txt");

            var tiles  = ParseInputIntoTiles(actual);
            var corner = GetTopLeft(tiles);

            var grid = DrawGrid(corner, tiles);

            long topLeft     = grid.First().First().Id;
            long topRight    = grid.First().Last().Id;
            long bottomLeft  = grid.Last().First().Id;
            long bottomRight = grid.Last().Last().Id;

            long answer = topLeft * topRight * bottomLeft * bottomRight;

            Console.WriteLine(answer);
        }
示例#19
0
        public static void Solve()
        {
            var actual = InputParser.GetLines("daynine.txt");
            var test   = InputParser.GetLines("daynine-test.txt");

            var invalidNumber = FindInvalidNumber(actual.ToList(), 25);

            if (invalidNumber != null)
            {
                var weakness = FindWeakness(actual, invalidNumber.GetValueOrDefault());
                if (weakness != null)
                {
                    Console.WriteLine(weakness);
                }
                else
                {
                    Console.WriteLine("Could not find weakness");
                }
            }
        }
        public static void Solve()
        {
            var lines = InputParser.GetLines("daytwo.txt");

            FindNumberOfCorrectPasswords(lines);
        }