aoc2025/bob/day09/day09-p1.py

46 lines
913 B
Python

import itertools
def get_area(a,b):
min_x = min(a[0],b[0])
max_x = max(a[0],b[0])
min_y = min(a[1],b[1])
max_y = max(a[1],b[1])
x = max_x - min_x + 1
y = max_y - min_y + 1
return x * y
def read_input(filename):
space = []
for line in open(filename).read().splitlines():
x,y = line.split(",")
space.append((int(x), int(y)))
return space
# filename = "day09/example_input" # 50
filename = "day09/input" # 4761736832
tiles = read_input(filename)
# build list of (unique) combinations
tiles_comb = itertools.combinations(tiles,2)
print("Calculate distances")
# Add distance to the list
tiles_area = []
for a,b in tiles_comb:
area = get_area(a,b)
tiles_area.append((a,b,area))
# def jd_sort(junc_dist):
# return junc_dist[2]
# tiles_area.sort(key=jd_sort)
tiles_area.sort(key=lambda x: x[2])
print(f"Largest area: {tiles_area[-1][2]}")