diff options
author | Thomas Voss <thomasvoss@live.com> | 2021-12-12 06:56:03 +0100 |
---|---|---|
committer | Thomas Voss <thomasvoss@live.com> | 2021-12-12 06:56:03 +0100 |
commit | b4195baae3b36bd997a97d24fd5e0ab38dcd5595 (patch) | |
tree | eca4ea75f16be761da19409b83a45ce88dd1b0c5 /2021/09/puzzle-2.py | |
parent | c93fc1b9a11c96a4554ec47029bf085597fdef60 (diff) |
Add libaoc
Diffstat (limited to '2021/09/puzzle-2.py')
-rwxr-xr-x | 2021/09/puzzle-2.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/2021/09/puzzle-2.py b/2021/09/puzzle-2.py index d435f7c..72e0752 100755 --- a/2021/09/puzzle-2.py +++ b/2021/09/puzzle-2.py @@ -9,17 +9,17 @@ from functools import reduce from itertools import product from operator import mul -matrix = list[list[int]] +from libaoc import matrix, read_int_matrix -def is_basin(grid: matrix, row: int, col: int) -> bool: +def is_basin(grid: matrix[int], row: int, col: int) -> bool: return ( not ((row < 0 or row > len(grid) - 1) or (col < 0 or col > len(grid[0]) - 1)) and grid[row][col] != 9 ) -def floodfill(grid: matrix, row: int, col: int) -> int: +def floodfill(grid: matrix[int], row: int, col: int) -> int: if row < 0 or row > len(grid) - 1 or col < 0 or col > len(grid[0]) - 1 or grid[row][col] == 9: return 0 @@ -43,7 +43,7 @@ def floodfill(grid: matrix, row: int, col: int) -> int: return size -def solve(grid: matrix) -> int: +def solve(grid: matrix[int]) -> int: return reduce( mul, sorted( @@ -59,7 +59,7 @@ def solve(grid: matrix) -> int: def main() -> None: with open("input", "r", encoding="utf-8") as f: - print(solve(list(map(lambda l: [int(n) for n in l.strip()], f.readlines())))) + print(solve(read_int_matrix(f))) if __name__ == "__main__": |