Rename 2024 scripts for nicer ordering

This commit is contained in:
2025-12-13 20:19:48 -05:00
parent 7013c5b0a0
commit c9145e6106
10 changed files with 0 additions and 0 deletions

37
2024/d05.py Normal file
View File

@@ -0,0 +1,37 @@
from lib import get_data
from lib import ints
def fix(xs):
change = True
while change:
change = False
for rule in rules.splitlines():
x, y = ints(rule)
if not (x in xs and y in xs):
continue
i, j = xs.index(x), xs.index(y)
if not i < j:
xs[i], xs[j] = xs[j], xs[i]
change = True
return xs
rules, pages = get_data(__file__).split("\n\n")
t1, t2 = 0, 0
for page in pages.splitlines():
xs = ints(page)
for rule in rules.splitlines():
x, y = ints(rule)
if not (x in xs and y in xs):
continue
if not (xs.index(x) < xs.index(y)):
xs = fix(ints(page))
t2 += xs[len(xs) // 2]
break
else:
t1 += xs[len(xs) // 2]
print(t1)
print(t2)