Zodra er mensen arriveren, besef je dat je fout zat. Mensen geven niet om aangrenzende stoelen — ze geven om de eerste stoel die ze kunnen zien in elk van de acht richtingen!

Bekijk nu in plaats van alleen de acht direct aangrenzende posities, de eerste stoel in elk van deze acht richtingen. De lege stoel hieronder zou bijvoorbeeld acht bezette stoelen zien:

.......#.
...#.....
.#.......
.........
..#L....#
....#....
.........
#........
...#.....

De meest linkse lege stoel hieronder zou slechts één lege stoel zien, maar kan geen van de bezette stoelen zien:

.............
.L.L.#.#.#.#.
.............

De lege stoel hieronder zou geen bezette stoelen zien:

.##.##.
#.#.#.#
##...##
...L...
##...##
#.#.#.#
.##.##.

Mensen lijken ook iets toleranter te zijn dan je had verwacht: er zijn nu vijf of meer bezette stoelen nodig voordat een bezette stoel leeg wordt (in plaats van vier of meer volgens de vorige regels). De andere regels zijn nog steeds van toepassing: lege stoelen die geen bezette stoelen zien, worden bezet, stoelen die aan geen enkele regel voldoen, veranderen niet en grond verandert nooit.

Gegeven dezelfde beginopstelling als in de vorige opgave, zorgen deze nieuwe regels ervoor dat de wachtruimte als volgt gevuld raakt:

L.LL.LL.LL
LLLLLLL.LL
L.L.L..L..
LLLL.LL.LL
L.LL.LL.LL
L.LLLLL.LL
..L.L.....
LLLLLLLLLL
L.LLLLLL.L
L.LLLLL.LL
#.##.##.##
#######.##
#.#.#..#..
####.##.##
#.##.##.##
#.#####.##
..#.#.....
##########
#.######.#
#.#####.##
#.LL.LL.L#
#LLLLLL.LL
L.L.L..L..
LLLL.LL.LL
L.LL.LL.LL
L.LLLLL.LL
..L.L.....
LLLLLLLLL#
#.LLLLLL.L
#.LLLLL.L#
#.L#.##.L#
#L#####.LL
L.#.#..#..
##L#.##.##
#.##.#L.##
#.#####.#L
..#.#.....
LLL####LL#
#.L#####.L
#.L####.L#
#.L#.L#.L#
#LLLLLL.LL
L.L.L..#..
##LL.LL.L#
L.LL.LL.L#
#.LLLLL.LL
..L.L.....
LLLLLLLLL#
#.LLLLL#.L
#.L#LL#.L#
#.L#.L#.L#
#LLLLLL.LL
L.L.L..#..
##L#.#L.L#
L.L#.#L.L#
#.L####.LL
..#.#.....
LLL###LLL#
#.LLLLL#.L
#.L#LL#.L#
#.L#.L#.L#
#LLLLLL.LL
L.L.L..#..
##L#.#L.L#
L.L#.LL.L#
#.LLLL#.LL
..#.L.....
LLL###LLL#
#.LLLLL#.L
#.L#LL#.L#

Op dit punt stoppen de mensen opnieuw met zich te verzetten en stabiliseert de wachtruimte zich. Zodra dit gebeurt, tel je 26 bezette stoelen.

Opgave

Gegeven deze nieuwe methode om te gaan zitten en de gewijzigde regel voor bezette stoelen die weer leeg raken, hoeveel stoelen zijn er dan bezet zodra de toestand zich stabiliseert? Hiervoor ga je als volgt te werk:

Voorbeeld

In deze interactieve sessie gaan we ervan uit dat het tekstbestand layout.txt1 zich in de huidige directory bevindt.

>>> occupied_seats('layout.txt')
26