38 lines
598 B
Python
38 lines
598 B
Python
|
|
def solve_card(card):
|
|
res = 0
|
|
winning_nums = []
|
|
own_nums = []
|
|
|
|
half1 = card.split(" | ")[0].split(": ")[1].split(" ")
|
|
half2 = card.split(" | ")[1].split(" ")
|
|
|
|
for i in range(len(half1)):
|
|
if half1[i] != "":
|
|
winning_nums.append(int(half1[i]))
|
|
|
|
for i in range(len(half2)):
|
|
if half2[i] != "":
|
|
own_nums.append(int(half2[i]))
|
|
|
|
for own_num in own_nums:
|
|
if own_num in winning_nums:
|
|
res += 1
|
|
res = int(2**res/2)
|
|
|
|
return res
|
|
|
|
|
|
def solve(file):
|
|
part1 = 0
|
|
|
|
for card in file:
|
|
part1 += solve_card(card)
|
|
|
|
return part1
|
|
|
|
|
|
|
|
file = open("input.txt", "r").readlines()
|
|
print(solve(file))
|