diff --git a/d04/part1.py b/d04/part1.py new file mode 100644 index 0000000..d784ac5 --- /dev/null +++ b/d04/part1.py @@ -0,0 +1,14 @@ +import sys + +L = [l for l in sys.stdin.read().splitlines()] + +R = 0 +for l in L: + _, halves = l.split(':') + c1, c2 = halves.split('|') + s1 = set(map(int,c1.strip().split(' '))) + s2 = set(map(int,c2.strip().split(' '))) + n = len(s1&s2) + if n>0: + R+= 1 << (n-1) +print(R) diff --git a/d04/part2.py b/d04/part2.py new file mode 100644 index 0000000..b2e1465 --- /dev/null +++ b/d04/part2.py @@ -0,0 +1,15 @@ +import sys + +L = [[l,1] for l in sys.stdin.read().splitlines()] + +for i in range(len(L)): + l, k = L[i] + _, halves = l.split(':') + c1, c2 = halves.split('|') + s1 = set(map(int,c1.strip().split(' '))) + s2 = set(map(int,c2.strip().split(' '))) + n = len(s1&s2) + for j in range(n): + if i+j+1