[2021] day 4 python numpy
This commit is contained in:
parent
4744c9604f
commit
5d118fdb4a
|
@ -20,9 +20,19 @@ def solve1() -> int:
|
|||
for matrix in tensor:
|
||||
mask = np.isin(matrix, vector[:scale])
|
||||
if mask.all(axis=0).any() or mask.all(axis=1).any():
|
||||
return (matrix * ~mask).sum() * vector[:scale][-1]
|
||||
return (matrix * ~mask).sum() * vector[scale-1]
|
||||
|
||||
|
||||
def solve2() -> int:
|
||||
vector, tensor = loader_np()
|
||||
for scale in range(len(vector)+1, 0, -1):
|
||||
for matrix in tensor:
|
||||
mask = np.isin(matrix, vector[:scale])
|
||||
if not mask.all(axis=0).any() and not mask.all(axis=1).any():
|
||||
prev_mask = np.isin(matrix, vector[:scale+1])
|
||||
return (matrix * ~prev_mask).sum() * vector[scale]
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(solve1())
|
||||
print(solve1()) # 67716
|
||||
print(solve2()) # 1830
|
||||
|
|
Loading…
Reference in a new issue