Exemplo n.º 1
0
        public static long Part1Solution(long[] input)
        {
            var program = new IntCodeProgram(input);

            program.Run();
            return(program.GetFirstPosition());
        }
Exemplo n.º 2
0
        public static long Part2Solution(long[] originalNumbersArray)
        {
            var memoryNumbersArray = new long[originalNumbersArray.Length];

            bool found = false;
            long noun  = 0;
            long verb  = 0;

            for (var i = 0; i <= 99; i++)
            {
                for (var j = 0; j <= 99; j++)
                {
                    originalNumbersArray.CopyTo(memoryNumbersArray, 0);
                    memoryNumbersArray[1] = i;
                    memoryNumbersArray[2] = j;
                    IntCodeProgram intProgram = new IntCodeProgram(memoryNumbersArray);
                    intProgram.Run();

                    if (intProgram.GetFirstPosition() == 19690720)
                    {
                        noun  = i;
                        verb  = j;
                        found = true;
                        break;
                    }
                }

                if (found)
                {
                    break;
                }
            }

            return((100 * noun) + verb);
        }