36 lines
824 B
Python
36 lines
824 B
Python
class iVec2d:
|
|
x: int
|
|
y: int
|
|
|
|
def __init__(self, x: int, y: int):
|
|
self.x = x
|
|
self.y = y
|
|
|
|
INPUT_FILE = "input.txt"
|
|
|
|
fresh_ranges: list[iVec2d] = []
|
|
available_ids: list[int] = []
|
|
|
|
# Parse data
|
|
with open(INPUT_FILE, 'r') as file:
|
|
data: str = file.read()
|
|
|
|
ranges, ids = data.split("\n\n")
|
|
|
|
for r in ranges.split("\n"):
|
|
n1, n2 = r.strip().split('-')
|
|
|
|
fresh_ranges.append(iVec2d(int(n1), int(n2)))
|
|
|
|
for ingredient_id in ids.split("\n"):
|
|
available_ids.append(int(ingredient_id.strip()))
|
|
|
|
fresh_ingredients = 0
|
|
for ingredient_id in available_ids:
|
|
for fresh_range in fresh_ranges:
|
|
if ingredient_id >= fresh_range.x and ingredient_id <= fresh_range.y:
|
|
fresh_ingredients += 1
|
|
break
|
|
|
|
print(f'Fresh Ingredients: {fresh_ingredients}')
|