コード例 #1
0
ファイル: q09.py プロジェクト: jarshwah/advent-of-code
def part_two(grid: Grid) -> int:
    low_points = [p for p, v in grid.search(mindepth)]
    sizes = []
    for lp in low_points:
        matches = list(grid.collect_recursive([lp], notnine))
        sizes.append(len(matches))
    top3 = sorted(sizes, reverse=True)[:3]
    return math.prod(top3)
コード例 #2
0
ファイル: q09.py プロジェクト: jarshwah/advent-of-code
def part_one(grid: Grid) -> int:
    return sum(val + 1 for _, val in grid.search(mindepth))