From 120d53c0ff20574866ce10fa0538fb8b0dd2ef82 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Thu, 23 Jun 2022 19:06:22 +0100 Subject: Reorganize repository structure --- day4/example.py | 59 --------------------------------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 day4/example.py (limited to 'day4/example.py') diff --git a/day4/example.py b/day4/example.py deleted file mode 100644 index 4eac08a..0000000 --- a/day4/example.py +++ /dev/null @@ -1,59 +0,0 @@ -import sys - -infile = sys.argv[1] if len(sys.argv)>1 else '4.in' - -# parse input -numbers = None -B = [] -F = [] -board = [] -for line in open(infile): - line = line.strip() - if numbers is None: - numbers = [int(x) for x in line.split(',')] - else: - if line: - board.append([int(x) for x in line.split()]) - else: - if board: - B.append(board) - board = [] -B.append(board) - -for b in B: - assert len(b)==5 and len(b[0])==5 - F.append([[False for _ in range(5)] for _ in range(5)]) - -WON = [False for _ in range(len(B))] -for num in numbers: - for i in range(len(B)): - for r in range(5): - for c in range(5): - if B[i][r][c] == num: - F[i][r][c] = True - - won = False - for r in range(5): - ok = True - for c in range(5): - if not F[i][r][c]: - ok = False - if ok: - won = True - for c in range(5): - ok = True - for r in range(5): - if not F[i][r][c]: - ok = False - if ok: - won = True - if won and not WON[i]: - WON[i] = True - nwin = len([j for j in range(len(B)) if WON[j]]) - if nwin == 1 or nwin == len(B): - unmarked = 0 - for r in range(5): - for c in range(5): - if not F[i][r][c]: - unmarked += B[i][r][c] - print(unmarked * num) -- cgit v1.2.3