You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
746 B
29 lines
746 B
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
import numpy as np
|
|
|
|
|
|
if __name__ == '__main__':
|
|
lks = open(sys.argv[1]).read().split('\n\n')
|
|
locks, keys = [], []
|
|
for l in lks:
|
|
ar = [list(x) for x in l.split('\n')]
|
|
if l == lks[-1]: ar = ar[0:-1]
|
|
if ar[0].count('#') == len(ar[0]):
|
|
locks.append(np.array([list(a).count('#') -1 for a in np.transpose(ar)]))
|
|
else: keys.append(np.array([list(a).count('#') - 1 for a in np.transpose(ar)]))
|
|
|
|
# challenge 1
|
|
res1 = 0
|
|
space = [5] * 5
|
|
for key in keys:
|
|
for lock in locks:
|
|
if sum(key + lock > space) == 0: res1 += 1
|
|
|
|
print(f"challenge 1:\n{res1}\n")
|
|
|
|
# challenge 2
|
|
res2 = "None :)"
|
|
print(f"challenge 2:\n{res2}")
|
|
|
|
|