From 41155ac16800750a9661adb54f0a2b83b242f5b8 Mon Sep 17 00:00:00 2001 From: Nathan van Ofwegen Date: Sat, 12 Dec 2020 13:12:03 +0100 Subject: [PATCH] day11p1 imp --- day11/day11.py | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/day11/day11.py b/day11/day11.py index 2b3ea48..92b6bbd 100644 --- a/day11/day11.py +++ b/day11/day11.py @@ -32,28 +32,18 @@ def nextSeat(x, y, grid): def nextRound(grid): next_grid = copy.deepcopy(grid) + count = 0 + difference = False + for x in range(0, width): for y in range(0, height): next_grid[x][y] = nextSeat(x, y, grid) - - return next_grid, grid - - -def countSeats(grid1): - count = 0 - for x in range(0, width): - for y in range(0, height): - if grid1[x][y] == '#': + if next_grid[x][y] == '#': count += 1 - return count + if next_grid[x][y] != grid[x][y]: + difference = True - -def equals(grid1, grid2): - for x in range(0, width): - for y in range(0, height): - if grid1[x][y] != grid2[x][y]: - return False - return True + return next_grid, difference, count def part1(): @@ -73,12 +63,11 @@ def part1(): height = len(grid) while True: - grid, oldGrid = nextRound(grid) - if equals(grid, oldGrid): - seats = countSeats(grid) + grid, difference, count = nextRound(grid) + if not difference: break - print(f"Part 1: {seats}") + print(f"Part 1: {count}") def part2():