From 6cd6caa420a0deb743aef45aa0baea6b4405bfec Mon Sep 17 00:00:00 2001 From: kwout Date: Sun, 4 Sep 2022 17:45:26 -0400 Subject: [PATCH] solved day 5a, removed useless day 4 code --- 2021/day4/4.py | 8 -------- 2021/day5/5a.py | 29 +++++++++++++++++++++++++++++ 2021/day5/input.txt.sample | 10 ++++++++++ 3 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 2021/day5/5a.py create mode 100644 2021/day5/input.txt.sample diff --git a/2021/day4/4.py b/2021/day4/4.py index ed87761..69284e4 100644 --- a/2021/day4/4.py +++ b/2021/day4/4.py @@ -4,8 +4,6 @@ boards = [] for s in range(2, len(lines),6): boards.append([[int(j) for j in lines[i].split()] for i in range(s,s+5)]) -earliestWin = len(draw) -winBoard = 0 winsOn = [-1] * len(boards) # i should really make an attempt to optimize this @@ -19,9 +17,6 @@ for b in range(0, len(boards)): drawIndex = draw.index(boards[b][i][j]) if drawIndex > latest: latest = drawIndex - if latest < earliestWin and latest != 0: - earliestWin = latest - winBoard = b if winsOn[b] == -1 or winsOn[b] > latest: winsOn[b] = latest latest = 0 @@ -31,9 +26,6 @@ for b in range(0, len(boards)): drawIndex = draw.index(boards[b][j][i]) if drawIndex > latest: latest = drawIndex - if latest < earliestWin and latest != 0: - earliestWin = latest - winBoard = b if winsOn[b] > latest : winsOn[b] = latest diff --git a/2021/day5/5a.py b/2021/day5/5a.py new file mode 100644 index 0000000..477f08a --- /dev/null +++ b/2021/day5/5a.py @@ -0,0 +1,29 @@ +lines = [] +for l in open("input.txt", 'r').read().splitlines(): + p = l.split(" -> ") + q = [] + q.append(p[0].split(",")) + q.append(p[1].split(",")) + lines.append([[int(q[0][0]),int(q[0][1])],[int(q[1][0]), int(q[1][1])]]) +grid = [[0 for i in range(1000)] for j in range(1000)] +print(lines) + +for l in lines: + if l[0][0] == l[1][0]: + if l[0][1] > l[1][1]: + l = (l[1],l[0]) + for i in range(l[0][1], l[1][1]+1): + grid[l[0][0]][i] += 1 + if l[0][1] == l[1][1]: + if l[0][0] > l[1][0]: + l = (l[1],l[0]) + for i in range(l[0][0], l[1][0]+1): + grid[i][l[0][1]] += 1 + +overlaps=0 +for m in grid: + print(m) + for n in m: + if n > 1: + overlaps += 1 +print(overlaps) diff --git a/2021/day5/input.txt.sample b/2021/day5/input.txt.sample new file mode 100644 index 0000000..b258f68 --- /dev/null +++ b/2021/day5/input.txt.sample @@ -0,0 +1,10 @@ +0,9 -> 5,9 +8,0 -> 0,8 +9,4 -> 3,4 +2,2 -> 2,1 +7,0 -> 7,4 +6,4 -> 2,0 +0,9 -> 2,9 +3,4 -> 1,4 +0,0 -> 8,8 +5,5 -> 8,2