private static int SimulateUntilStable(string[] input, bool part1 = true)
        {
            var seatingArea = SeatingArea.Create(input);

            seatingArea.SimulateUntilStable(part1);
            return(seatingArea.OccupiedSeats());
        }
Beispiel #2
0
        public string PartB()
        {
            string      filePath    = @"Eleven\DayElevenInput.txt";
            SeatingArea seatingArea = new SeatingArea(filePath);

            seatingArea.Run(true);
            int occupiedSeats = seatingArea.CountOccupiedSeats();

            return(occupiedSeats.ToString());
        }
        public void SeatingArea()
        {
            string filePath = @"Eleven\DayElevenTestInputA.txt";
            var    sut      = new SeatingArea(filePath);

            sut.Run(false);
            var result = sut.CountOccupiedSeats();

            Assert.Equal(37, result);
        }
Beispiel #4
0
            public static SeatingArea Parse(string input, int part)
            {
                var lines  = input.ToLines().ToList();
                var width  = lines.First().Length;
                var height = lines.Count;

                var sa = new SeatingArea(width, height, part);

                foreach (var(line, y) in lines.WithIndex())
                {
                    foreach (var(c, x) in line.WithIndex())
                    {
                        sa.grid[x, y] = c;
                    }
                }

                return(sa);
            }
Beispiel #5
0
        public static void ExecuteDay(string fileLocation = "PuzzleInput/Day11.txt")
        {
            string alltext = File.ReadAllText(fileLocation);

            SeatingArea sa = new SeatingArea(alltext);

            while (sa.Update())
            {
                ;
            }

            Logger.LogMessage(LogLevel.ANSWER, "10A: " + sa.NumSeatsOccupied);

            var sa2 = new SeatingArea(alltext);

            while (sa2.Update(5, true))
            {
                ;
            }

            Logger.LogMessage(LogLevel.ANSWER, "10B: " + sa2.NumSeatsOccupied);
        }
Beispiel #6
0
 public SeatFinder(string encodedSeat, PlaneDimension planeSize)
 {
     _seatCode           = encodedSeat;
     PlaneSize           = planeSize;
     PossibleSeatingArea = PlaneSize.GetTotalSeatingArea();
 }