Пример #1
0
        private static int CalculateAnswer1(bool[] input)
        {
            var bitGrid = new BitGrid(100, 100, input);

            for (int step = 0; step < 100; step++)
            {
                bitGrid = MutateBitGrid1(bitGrid);
            }

            var answer = bitGrid.GetLightsOnCount();

            return(answer);
        }
Пример #2
0
        static void Main(string[] args)
        {
            PrintHeader("Day 06");

            var input = File.ReadAllText("Input.txt");

            var commands = LightingGrammar.Program.Parse(input);

            var bitGrid = new BitGrid(1000, 1000);
            var intGrid = new IntGrid(1000, 1000);

            foreach (var changeCommand in commands)
            {
                ChangeData(bitGrid, changeCommand.CoordsFrom, changeCommand.CoordsTo, changeCommand.ChangeMethod);
                ChangeData(bitGrid, changeCommand.CoordsFrom, changeCommand.CoordsTo, changeCommand.ChangeMethod);
            }

            var answer1 = bitGrid.GetLightsOnCount();
            var answer2 = intGrid.GetLightsTotalBrightness();


            PrintAnswer("Answer 1", answer1);
            PrintAnswer("Answer 2", answer2);
        }