2024(5): only add the updated ones
This commit is contained in:
@ -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}.")
|
||||||
|
|||||||
Reference in New Issue
Block a user