23 lines
699 B
Python
23 lines
699 B
Python
|
|
|
|
|
|
|
|
inp = open('input.txt').read().strip().split('\n')
|
|
##inp = '''
|
|
##Card 1: 41 48 83 86 17 | 83 86 6 31 17 9 48 53
|
|
##Card 2: 13 32 20 16 61 | 61 30 68 82 17 32 24 19
|
|
##Card 3: 1 21 53 59 44 | 69 82 63 72 16 21 14 1
|
|
##Card 4: 41 92 73 84 69 | 59 84 76 51 58 5 54 83
|
|
##Card 5: 87 83 26 28 32 | 88 30 70 12 93 22 82 36
|
|
##Card 6: 31 18 13 56 72 | 74 77 10 23 35 67 36 11
|
|
##'''.strip().split('\n')
|
|
inp = list(map(lambda x: x.replace(' ', ' '), inp))
|
|
cards = [x.split(': ')[1].split(' | ') for x in inp]
|
|
cards = [(need.split(' '), have.split(' ')) for need, have in cards]
|
|
|
|
s = 0
|
|
for need, have in cards:
|
|
if len(set(have)&set(need))>0:
|
|
s += 2**(len(set(need) & set(have)) - 1)
|
|
print(s)
|