Example #1
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("corrected message: {0}", RepetitionCorrection(input));
            Console.ReadLine();
        }
Example #2
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Active Pixels: {0}", DisplayControl(input));
            Console.ReadLine();
        }
Example #3
0
        static void Main(string[] args)
        {
            List <Instruction> program = new List <Instruction>();

            foreach (string line in InputLoader.LoadByLines("input.txt"))
            {
                program.Add(new Instruction(line));
            }

            CoProcessor cp1 = new CoProcessor();

            System.Threading.Thread p1 = new System.Threading.Thread(new System.Threading.ThreadStart(cp1.ThreadFunc));
            cp1.Program   = program;
            cp1.DebugMode = true;
            p1.Start();
            p1.Join();

            /*CoProcessor cp2 = new CoProcessor();
             * System.Threading.Thread p2 = new System.Threading.Thread(new System.Threading.ThreadStart(cp2.ThreadFunc));
             * cp2.Program = program;
             * cp2.DebugMode = false;
             * p2.Start();
             * p2.Join();*/

            aocAssemblerAsCSharp();

            Console.WriteLine(string.Format("Program ended"));
            Console.ReadLine();
        }
Example #4
0
        static void Main(string[] args)
        {
            List <string> gridMap = new List <string>();

            foreach (string line in InputLoader.LoadByLines("input.txt"))
            {
                gridMap.Add(line);
            }

            VirusCarrierSimple   simpleVirus   = new VirusCarrierSimple(gridMap);
            VirusCarrierEnhanced enhancedVirus = new VirusCarrierEnhanced(gridMap);

            for (int i = 0; i < 10000; i++)
            {
                simpleVirus.Move();
            }

            for (int i = 0; i < 10000000; i++)
            {
                enhancedVirus.Move();
            }

            Console.WriteLine(string.Format("Infection Bursts: {0}", simpleVirus.InfectionBursts));
            Console.WriteLine(string.Format("Infection Bursts: {0}", enhancedVirus.InfectionBursts));
            Console.ReadLine();
        }
Example #5
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Dragon checksum disc 1: {0}", MinimumFreeIP(input));
            Console.ReadLine();
        }
Example #6
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            ParseInstructions(input);
            Console.ReadLine();
        }
Example #7
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Shortest path: {0}", MazeRunner(input[0]));
            Console.ReadLine();
        }
Example #8
0
        /*static char[,] RotateMatrix(char[,] matrix, int n)
         * {
         *  char[,] ret = new char[n, n];
         *
         *  for (int i = 0; i < n; ++i)
         *  {
         *      for (int j = 0; j < n; ++j)
         *      {
         *          ret[i, j] = matrix[n - j - 1, i];
         *      }
         *  }
         *
         *  return ret;
         * }*/

        static void Main(string[] args)
        {
            List <string> startPattern = new List <string>();

            startPattern.Add(".#.");
            startPattern.Add("..#");
            startPattern.Add("###");

            List <string> outputPattern = new List <string>(startPattern);

            List <string[]> transformRules = new List <string[]>();

            foreach (string line in InputLoader.LoadByLines("input.txt"))
            {
                transformRules.Add(line.Split(new string[] { " => " }, StringSplitOptions.RemoveEmptyEntries));
            }

            if ((outputPattern.Count % 2) == 0)
            {
            }
            else
            {
                if (outputPattern.Count > 3)
                {
                }
                else
                {
                }
            }

            /*char[,] matrix = new char[,] { { '1', '2', '3' }, { '4', '5', '6' }, { '7', '8', '9' } };
             * matrix = RotateMatrix(matrix, 2);*/

            Console.ReadLine();
        }
Example #9
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Last index for OTP 64: {0}", GenerateOTPs(input[0], 64, false));
            Console.WriteLine("Last index for OTP 64 stretched: {0}", GenerateOTPs(input[0], 64, true));
            Console.ReadLine();
        }
Example #10
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Decompressed Length V1: {0}", DecompressV1(input[0]));
            Console.WriteLine("Decompressed Length V2: {0}", DecompressV2(input[0]));
            Console.ReadLine();
        }
Example #11
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Value of Register a(0,0,0,0): {0}", ExecuteInstructions(input, 0, 0, 0, 0));
            Console.WriteLine("Value of Register a(0,0,1,0): {0}", ExecuteInstructions(input, 0, 0, 1, 0));
            Console.ReadLine();
        }
Example #12
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Dragon checksum disc 1: {0}", DragonChecksum(input[0]));
            Console.WriteLine("Dragon checksum disc 2: {0}", DragonChecksum(input[1]));
            Console.ReadLine();
        }
Example #13
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Possible triangles: {0}", GetPossibleTrianglesByLine(input));
            Console.WriteLine("Possible triangles other order: {0}", GetPossibleTrianglesByColumn(input));
            Console.ReadLine();
        }
Example #14
0
        static void Main(string[] args)
        {
            string input = InputLoader.LoadByLines("input.txt")[0];

            Console.WriteLine(string.Format("Sum Part 1: {0}", SumUp(input, 1)));
            Console.WriteLine(string.Format("Sum Part 2: {0}", SumUp(input, input.Length / 2)));
            Console.ReadLine();
        }
Example #15
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Bathroom Code on normal keypad: {0}", KeypadNormal(input));
            Console.WriteLine("Bathroom Code on special keypad: {0}", KeypadSpecial(input));
            Console.ReadLine();
        }
Example #16
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Viable pairs: {0}", ViablePairs(input));
            Console.WriteLine("Moves to get data: {0}", DataRetrieval(input));
            Console.ReadLine();
        }
Example #17
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("IPv7 with TLS: {0}", CountTLSIPv7(input));
            Console.WriteLine("IPv7 with SSL: {0}", CountSSLIPv7(input));
            Console.ReadLine();
        }
Example #18
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Get capsule at time: {0}", DiscMazePassThrough(input, false));
            Console.WriteLine("2nd try: Get capsule at time: {0}", DiscMazePassThrough(input, true));
            Console.ReadLine();
        }
Example #19
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Scrambled password: {0}", Scramble("abcdefgh", input));
            Console.WriteLine("Scrambled password: {0}", Unscramble("fbgdceah", input));
            Console.ReadLine();
        }
Example #20
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Console.WriteLine("Safe tiles: {0}", TrapRoom(input, 40));
            input = InputLoader.LoadByLines("input.txt");
            Console.WriteLine("Safe tiles: {0}", TrapRoom(input, 400000));
            Console.ReadLine();
        }
Example #21
0
        /*static Coordinates FollowDirections2(string input)
         * {
         *  Coordinates c = new Coordinates();
         *  int facing = 0;
         *
         *  string[] splitted = input.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
         *
         *  Dictionary<int, Dictionary<int, int>> grid = new Dictionary<int, Dictionary<int, int>>();
         *  grid.Add(0, new Dictionary<int, int>());
         *  grid[0].Add(0, 0);
         *
         *  foreach (string s in splitted)
         *  {
         *      switch (s[0])
         *      {
         *          case 'R':
         *              facing++;
         *              break;
         *          case 'L':
         *              facing--;
         *              break;
         *      }
         *      if (facing > 3)
         *      {
         *          facing = 0;
         *      }
         *      if (facing < 0)
         *      {
         *          facing = 3;
         *      }
         *      int steps = int.Parse(s.Remove(0, 1));
         *
         *      while (steps-- > 0)
         *      {
         *          switch (facing)
         *          {
         *              case 0:
         *                  c.Y++;
         *                  break;
         *              case 1:
         *                  c.X++;
         *                  if (grid.ContainsKey(c.X))
         *                  {
         *
         *                  }
         *                  else
         *                  {
         *                      grid.Add(c.X, new Dictionary<int, int>());
         *                      grid[c.X].Add(c.Y, 0);
         *                  }
         *                  break;
         *              case 2:
         *                  c.Y--;
         *                  break;
         *              case 3:
         *                  c.X--;
         *                  break;
         *          }
         *      }
         *  }
         *
         *  return c;
         * }*/

        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            Point[] c = FollowDirections(input);
            Console.WriteLine("Blocks until destination: {0}", Math.Abs(c[0].X) + Math.Abs(c[0].Y));
            Console.WriteLine("Blocks until real destination: {0}", Math.Abs(c[1].X) + Math.Abs(c[1].Y));
            Console.ReadLine();
        }
Example #22
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            int[] results = SumIdRealRooms(input);
            Console.WriteLine("Sum real room IDs: {0}", results[0]);
            Console.WriteLine("Sector ID where North Pole Items are stored: {0}", results[1]);
            Console.ReadLine();
        }
Example #23
0
        static void Main(string[] args)
        {
            List <string> input = InputLoader.LoadByLines("input.txt");

            string[] results = GeneratePassword(input[0]);
            Console.WriteLine("Door password simple: {0}", results[0]);
            Console.WriteLine("Door password enhanced: {0}", results[1]);
            Console.ReadLine();
        }
Example #24
0
        static void Main(string[] args)
        {
            List <int> jumpList = new List <int>();

            foreach (string line in InputLoader.LoadByLines("input.txt"))
            {
                jumpList.Add(int.Parse(line));
            }

            Console.WriteLine("Jumps Part 1: {0}", ListWalkerPart1(jumpList));
            Console.WriteLine("Jumps Part 2: {0}", ListWalkerPart2(jumpList));
            Console.ReadLine();
        }
Example #25
0
        static void Main(string[] args)
        {
            int validPassphrasesPart1 = 0;
            int validPassphrasesPart2 = 0;

            foreach (string line in InputLoader.LoadByLines("input.txt"))
            {
                validPassphrasesPart1 += IsValidPassphrasePart1(line);
                validPassphrasesPart2 += IsValidPassphrasePart2(line);
            }

            Console.WriteLine("Valid Passphrases Part 1: {0}", validPassphrasesPart1);
            Console.WriteLine("Valid Passphrases Part 2: {0}", validPassphrasesPart2);
            Console.ReadLine();
        }
Example #26
0
        static void Main(string[] args)
        {
            List <BridgePart>         bridgeParts = new List <BridgePart>();
            List <List <BridgePart> > bridges     = new List <List <BridgePart> >();
            int bestBridgeStrength        = int.MinValue;
            int bestBridgeStrengthLongest = int.MinValue;
            int longestBridge             = int.MinValue;

            foreach (string line in InputLoader.LoadByLines("input.txt"))
            {
                bridgeParts.Add(new BridgePart(line));
            }

            createBridges(bridges, new List <BridgePart>(), bridgeParts, 0);

            foreach (List <BridgePart> bps in bridges)
            {
                int strength = 0;
                foreach (BridgePart bp in bps)
                {
                    strength += bp.PortStrength[0];
                    strength += bp.PortStrength[1];
                }
                if (strength > bestBridgeStrength)
                {
                    bestBridgeStrength = strength;
                }
                if (bps.Count > longestBridge)
                {
                    longestBridge             = bps.Count;
                    bestBridgeStrengthLongest = strength;
                }
                else if (bps.Count == longestBridge)
                {
                    if (strength > bestBridgeStrengthLongest)
                    {
                        bestBridgeStrengthLongest = strength;
                    }
                }
            }

            Console.WriteLine(string.Format("Strongest bridge strength: {0}", bestBridgeStrength));
            Console.WriteLine(string.Format("Strongest bridge strength of longest bridge: {0}", bestBridgeStrengthLongest));
            Console.ReadLine();
        }
Example #27
0
        static void Main(string[] args)
        {
            List <string> maze = new List <string>();

            foreach (string line in InputLoader.LoadByLines("input.txt"))
            {
                maze.Add(line);
            }

            // Maze walker
            int           x     = FindMazeStart(maze);
            int           y     = 0;
            EDirections   dir   = EDirections.eDown;
            int           steps = 0;
            StringBuilder sb    = new StringBuilder();

            while (true)
            {
                switch (dir)
                {
                case EDirections.eUp:
                    y--;
                    break;

                case EDirections.eDown:
                    y++;
                    break;

                case EDirections.eLeft:
                    x--;
                    break;

                case EDirections.eRight:
                    x++;
                    break;
                }
                steps++;

                if (maze[y][x] == '+') // direction change
                {
                    switch (dir)
                    {
                    case EDirections.eUp:
                        if ((maze[y][x - 1] == '-') || char.IsLetter(maze[y][x - 1]))
                        {
                            dir = EDirections.eLeft;
                        }
                        else if ((maze[y][x + 1] == '-') || char.IsLetter(maze[y][x + 1]))
                        {
                            dir = EDirections.eRight;
                        }
                        break;

                    case EDirections.eDown:
                        if ((maze[y][x - 1] == '-') || char.IsLetter(maze[y][x - 1]))
                        {
                            dir = EDirections.eLeft;
                        }
                        else if ((maze[y][x + 1] == '-') || char.IsLetter(maze[y][x + 1]))
                        {
                            dir = EDirections.eRight;
                        }
                        break;

                    case EDirections.eLeft:
                        if ((maze[y - 1][x] == '|') || char.IsLetter(maze[y - 1][x]))
                        {
                            dir = EDirections.eUp;
                        }
                        else if ((maze[y + 1][x] == '|') || char.IsLetter(maze[y + 1][x]))
                        {
                            dir = EDirections.eDown;
                        }
                        break;

                    case EDirections.eRight:
                        if ((maze[y - 1][x] == '|') || char.IsLetter(maze[y - 1][x]))
                        {
                            dir = EDirections.eUp;
                        }
                        else if ((maze[y + 1][x] == '|') || char.IsLetter(maze[y + 1][x]))
                        {
                            dir = EDirections.eDown;
                        }
                        break;
                    }
                }
                else if (maze[y][x] == ' ') // Reached end of maze
                {
                    break;
                }
                else
                {
                    if (char.IsLetter(maze[y][x]))
                    {
                        sb.Append(maze[y][x]);
                    }
                }
            }
            Console.WriteLine(string.Format("Passed letters: {0}", sb.ToString()));
            Console.WriteLine(string.Format("Steps taken: {0}", steps));
            Console.ReadLine();
        }