initial commit
This commit is contained in:
commit
27fe77bbe1
134 changed files with 21939 additions and 0 deletions
42
2021/Day4/Day4.py
Normal file
42
2021/Day4/Day4.py
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
import copy
|
||||
|
||||
from Board import BingoBoard
|
||||
|
||||
if __name__ == '__main__':
|
||||
boards = []
|
||||
with open("input.txt", "r") as f:
|
||||
toPop = []
|
||||
inp = f.readlines()
|
||||
nums = [int(x) for x in inp[0].split(",")]
|
||||
inp.pop(0)
|
||||
for i in range(len(inp)):
|
||||
inp[i] = inp[i].strip()
|
||||
if inp[i] == "":
|
||||
toPop.append(i)
|
||||
|
||||
toPop.reverse()
|
||||
for i in toPop:
|
||||
inp.pop(i)
|
||||
|
||||
for board in range(len(inp) // 5):
|
||||
boards.append(BingoBoard(inp[board * 5:board * 5 + 5]))
|
||||
|
||||
# part1
|
||||
# for num in nums:
|
||||
# for board in boards:
|
||||
# board.enterValue(num)
|
||||
# if board.checkWin():
|
||||
# print(board.sum() * num)
|
||||
# exit()
|
||||
|
||||
# part2
|
||||
won = 0
|
||||
for num in nums:
|
||||
for board in boards:
|
||||
if not board.solved:
|
||||
board.enterValue(num)
|
||||
if board.checkWin():
|
||||
won += 1
|
||||
if won == len(boards):
|
||||
print(board.sum()*num)
|
||||
exit()
|
||||
Loading…
Add table
Add a link
Reference in a new issue