From 0a9b847ea17e2ce44742057ffb3274c6602d8f44 Mon Sep 17 00:00:00 2001 From: Pascal Lais Date: Sun, 5 Dec 2021 13:09:36 +0100 Subject: [PATCH] Update day 5 solution --- day-05/day-05.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/day-05/day-05.py b/day-05/day-05.py index f746b02..31167e8 100644 --- a/day-05/day-05.py +++ b/day-05/day-05.py @@ -13,12 +13,10 @@ def part_1(input): for line in input: line = line.strip() x1,y1,x2,y2 = parse_line(line) - if y1 == y2: + if x1 == x2 or y1 == y2: for x in range(min(x1,x2), max(x1,x2) + 1): - field[x][y1] += 1 - elif x1 == x2: - for y in range(min(y1,y2), max(y1,y2) + 1): - field[x1][y] += 1 + for y in range(min(y1,y2), max(y1,y2) + 1): + field[x][y] += 1 for x in range(1000): for y in range(1000): if field[x][y] >= 2: @@ -32,7 +30,11 @@ def part_2(input): for line in input: line = line.strip() x1,y1,x2,y2 = parse_line(line) - if abs(x1 - x2) == abs(y1 - y2): + if x1 == x2 or y1 == y2: + for x in range(min(x1,x2), max(x1,x2) + 1): + for y in range(min(y1,y2), max(y1,y2) + 1): + field[x][y] += 1 + elif abs(x1 - x2) == abs(y1 - y2): dx = 1 if x1 > x2: dx = -1 @@ -41,12 +43,6 @@ def part_2(input): dy = -1 for n in range(abs(x1 - x2) + 1): field[x1 + (dx * n)][y1 + (dy * n)] += 1 - elif y1 == y2: - for x in range(min(x1,x2), max(x1,x2) + 1): - field[x][y1] += 1 - elif x1 == x2: - for y in range(min(y1,y2), max(y1,y2) + 1): - field[x1][y] += 1 for x in range(1000): for y in range(1000): if field[x][y] >= 2: