示例#1
0
        public static void ExecuteStarOne(string fileLocation = "PuzzleInput/Day12.txt")
        {
            List <string> moonStringList = File.ReadAllLines(fileLocation).ToList();

            var jm = new JupiterMoons(moonStringList);

            for (int i = 0; i < 1000; i++)
            {
                jm.Tick();
            }

            Logger.LogMessage(LogLevel.ANSWER, "12A: Jupiter Moon Energy: " + jm.GetSystemEnergy());
        }
示例#2
0
        public static void ExecuteStarTwo(string fileLocation = "PuzzleInput/Day12.txt")
        {
            List <string> moonStringList = File.ReadAllLines(fileLocation).ToList();

            var jm        = new JupiterMoons(moonStringList);
            var initialJm = jm.Clone() as JupiterMoons;

            jm.Tick();

            long steps = 0;

            while (!jm.Equals(initialJm))
            {
                jm.Tick();
                steps++;
                if (steps % 1000 == 0)
                {
                    Logger.LogMessage(LogLevel.DEBUG, steps.ToString());
                }
            }

            Logger.LogMessage(LogLevel.ANSWER, "12B: Steps to Repeat: " + steps);
        }