2024(5): only add the updated ones

This commit is contained in:
2024-12-19 13:52:27 +01:00
parent 1ed8961019
commit fee0a57fc2

View File

@ -47,23 +47,18 @@ def fix_update(update, rules):
if __name__ == "__main__": if __name__ == "__main__":
rules, updates = load_input() rules, updates = load_input()
indices_legal = []
middle_sum = 0 middle_sum = 0
# Let's assume numbers can only occur once (although the checker does not # Let's assume numbers can only occur once (although the checker does not
# make this assumption), and every update CAN be fixed. # make this assumption), and every update CAN be fixed.
for idx, update in enumerate(updates): for idx, update in enumerate(updates):
print(f"{idx:5d}/{len(updates)}:", update) print(f"{idx:5d}/{len(updates)}:", update)
fix_update(update, rules)
updates[idx] = update
if is_update_legal(update, rules): if is_update_legal(update, rules):
if verbose: if verbose:
print(update, " is legal") print(update, " is legal")
indices_legal.append(idx)
middle_sum += middle_page_num(update)
else: else:
if True or verbose: if verbose:
print(update, " is illegal") print(update, " is illegal")
fix_update(update, rules)
middle_sum += middle_page_num(update)
if verbose:
print(indices_legal)
print(f"The sum of middle page numbers of legal updates is {middle_sum}.") print(f"The sum of middle page numbers of legal updates is {middle_sum}.")