diff options
Diffstat (limited to '2024/day7/solve.py')
-rw-r--r-- | 2024/day7/solve.py | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/2024/day7/solve.py b/2024/day7/solve.py deleted file mode 100644 index 4737c9c..0000000 --- a/2024/day7/solve.py +++ /dev/null @@ -1,38 +0,0 @@ -def is_valid_entry(ent: tuple[int, list[int]], current_result: int = 0, current_index: int = 0) -> bool: - if current_index == 0: - current_result += ent[1][current_index] - return is_valid_entry(ent, current_result, current_index + 1) - - if current_index >= len(ent[1]): - if current_result == ent[0]: - return True - return False - - new_result = current_result + ent[1][current_index] - - if new_result <= ent[0]: - if is_valid_entry(ent, new_result, current_index + 1): - return True - - new_result = current_result * ent[1][current_index] - - if new_result <= ent[0]: - if is_valid_entry(ent, new_result, current_index + 1): - return True - - return False - -entries = [] - -with open("input") as f: - for line in f: - line = line.strip() - split = line.split(": ") - entries.append((int(split[0]), [int(elem) for elem in split[1].split(" ")])) - -result = 0 -for entry in entries: - if is_valid_entry(entry): - result += entry[0] - -print(result)
\ No newline at end of file |