2023adventofcode/pythonsrc/day5/part1.py

54 lines
3.1 KiB
Python
Raw Permalink Normal View History

2024-06-25 01:09:22 -05:00
print(
min(
[
[
[
max(f) if max(f) != -1 else h
for f in [[g(h) for g in m[6]]] # final map
][0] for h in [
[
max(f) if max(f) != -1 else h
for f in [[g(h) for g in m[5]]] # sixth map
][0] for h in [
[
max(f) if max(f) != -1 else h
for f in [[g(h) for g in m[4]]] # fifth map
][0] for h in [
[
max(f) if max(f) != -1 else h
for f in [[g(h) for g in m[3]]] # fourth map
][0] for h in [
[
max(f) if max(f) != -1 else h
for f in [[g(h) for g in m[2]]] # third map
][0] for h in [
[
max(f) if max(f) != -1 else h
for f in [[g(h) for g in m[1]]] # second map
][0] for h in [
[
max(f) if max(f) != -1 else h
for f in [[g(h) for g in m[0]]] # first map
][0] for h in [
int(x) for x in open("resources/day5.txt").readlines()[0].split(":")[1].strip().split(" ") # seeds
]
]
]
]
]
]
]
] for m in [[
list(map(
lambda d: lambda e: e + d[0] - d[1] if e >= d[1] and e < d[1] + d[2] else -1,
[[int(a) for a in b.split(" ")] for b in c.strip().split("\n")[1:]] # bullshit to get maps
))
for c in open("resources/day5.txt").read().split("\n\n")[1:] # maps
]]
][0]
)
)
#min([[[max(f) if max(f) != -1 else h for f in [[g(h) for g in m[6]]]][0] for h in [[max(f) if max(f) != -1 else h for f in [[g(h) for g in m[5]]]][0] for h in [[max(f) if max(f) != -1 else h for f in [[g(h) for g in m[4]]]][0] for h in [[max(f) if max(f) != -1 else h for f in [[g(h) for g in m[3]]]][0] for h in [[max(f) if max(f) != -1 else h for f in [[g(h) for g in m[2]]]][0] for h in [[max(f) if max(f) != -1 else h for f in [[g(h) for g in m[1]]]][0] for h in [[max(f) if max(f) != -1 else h for f in [[g(h) for g in m[0]]]][0] for h in [int(x) for x in open("resources/day5.txt").readlines()[0].split(":")[1].strip().split(" ")]]]]]]]] for m in [[list(map(lambda d: lambda e: e + d[0] - d[1] if e >= d[1] and e < d[1] + d[2] else -1, [[int(a) for a in b.split(" ")] for b in c.strip().split("\n")[1:]])) for c in open("resources/day5.txt").read().split("\n\n")[1:]]]][0])