AdventOfCode/Python/2023/04/main.py
2024-12-02 11:16:28 -08:00

41 lines
858 B
Python

input = open("input", 'r')
data = []
for line in input:
card = line.rstrip().split(": ")[1]
winning, present = card.split(" | ")
winning = [int(num) for num in winning.split(" ") if num != ""]
present = [int(num) for num in present.split(" ") if num != ""]
data.append({
"wins": winning,
"pres": present
})
total = 0
wins = {card_num: 0 for card_num in range(len(data))}
for i, card in enumerate(data):
for number in card["pres"]:
if number in card["wins"]:
wins[i] += 1
if wins[i]:
total += 2 ** (wins[i]-1)
print(total)
cards = {card_num: 1 for card_num in range(len(data))}
print(wins)
for num, count in wins.items():
for i in range(count):
cards[num+i+1] += cards[num]
print(cards)
total = 0
for _, count in cards.items():
total += count
print(total)