static void BruteInfiniteLoop(string[] instructions) { var nopToJmp = BruteInfiniteLoopNopToJmp(instructions); if (nopToJmp is not null) { Console.WriteLine(StupidGameEmulator.CalculateAccUntilLoop(nopToJmp)); return; } var jmpToNop = BruteInfiniteLoopJmpToNop(instructions); Console.WriteLine(StupidGameEmulator.CalculateAccUntilLoop(jmpToNop)); }
static async Task Main(string[] args) { //var instructions = new[] { // "nop +0", // "acc +1", // "jmp +4", // "acc +3", // "jmp -3", // "acc -99", // "acc +1", // "jmp -4", // "acc +6", //}; var instructions = await File.ReadAllLinesAsync("input.txt"); Console.WriteLine("Value of accumulator before loop: {0}", StupidGameEmulator.CalculateAccUntilLoop(instructions)); BruteInfiniteLoop(instructions); }