Files
python-aoc-2021/day04/part1.py
Sebastian Seedorf 074e2b683f Day 04
2021-12-06 10:44:06 +01:00

27 lines
793 B
Python

#!/usr/bin/env python3
from collections import defaultdict
lines = [x.strip() for x in open("input.txt")]
inp = map(int, lines[0].split(","))
boards = defaultdict(list)
remaining = defaultdict(set)
for i in range((len(lines)-1) // 6):
sub = list(map(lambda x: list(map(int, x.split())), lines[i*6+2:i*6+7]))
for j in range(5):
boards[i].append(set(sub[j]))
boards[i].append(set([row[j] for row in sub]))
board_items = set()
for row in sub:
board_items.update(row)
remaining[i] = board_items
for draw in inp:
for key, board in boards.items():
remaining[key].discard(draw)
for line in board:
line.discard(draw)
if len(line) == 0:
print(draw * sum(remaining[key]))
exit(0)