From dbd7c236a992dfe8d8d8ee58aae3ce0baf173bf3 Mon Sep 17 00:00:00 2001 From: Stefan Harmuth Date: Sat, 21 Dec 2024 06:00:39 +0100 Subject: [PATCH] day20 - formula simplification --- day20.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/day20.py b/day20.py index 18b2a7e..a7ab1fe 100644 --- a/day20.py +++ b/day20.py @@ -5,16 +5,14 @@ from typing import Any def get_cheat_count(track: list[Coordinate], check_len: int, need_save: int = 100) -> int: - total_dist = len(track) ans = 0 for i, c in enumerate(track[:-need_save]): - for j, n in enumerate(track[i + 2 :]): + for j, n in enumerate(track[i + need_save :]): dist = c.getDistanceTo(n, algorithm=DistanceAlgorithm.MANHATTAN, includeDiagonals=False) - if dist > check_len: + if dist > check_len or j - dist < 0: continue - saved = total_dist - (i + dist + (total_dist - i - (j + 2))) - if saved >= need_save: - ans += 1 + + ans += 1 return ans