#!/usr/bin/env python3
# day 5 - Advent of Code 2023
# part 1

import numpy as np
import pandas as pd

with open("data/sample.txt", "r") as f:
    data = f.read()

parts = data.split("\n\n")

seeds = parts[0]
seeds = seeds.split(": ")[1].split()
seeds = list(map(int, seeds))
maps = [
    [
        [int(item) for item in values.split()]
        for values in themap.split("\n")[1:]
        if values != ""
    ]
    for themap in parts[1:]
]


def recursive_min_descent(seed, maps):
    current = seed
    for submap in maps:
        for indication in submap:
            destination, source, size = indication
    return current


"""
soils = list(map(lambda seed: descent(seed, maps), seeds))

seeds = range(0, 99)

df = pd.DataFrame(
    dict(seed=seeds, soil=list(map(lambda seed: descent(seed, maps), seeds)))
)

"""
# Check that no map indication overlaps
for submap in maps:
    for indication1 in submap:
        _, start1, range1 = indication1
        for indication2 in submap:
            if indication1 == indication2:
                continue
            _, start2, range2 = indication2
            if not (start2 > start1 + range1 or start1 > start2 + range2):
                print("overlap")

print(df)