diff options
author | Botond Hende <nettingman@gmail.com> | 2024-12-11 10:18:23 +0100 |
---|---|---|
committer | Botond Hende <nettingman@gmail.com> | 2024-12-11 10:18:23 +0100 |
commit | 0a5c1f77d01fc0bd166494787f24562e2fd3a9e9 (patch) | |
tree | 99b0d38ef86653b6ff4aae26381ebdf0895f829d /2024/day7/solve2.py | |
parent | cbf5c348db4a693b15e455a23e07072587edf4b0 (diff) |
renamed day folders to two digit format
Diffstat (limited to '2024/day7/solve2.py')
-rw-r--r-- | 2024/day7/solve2.py | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/2024/day7/solve2.py b/2024/day7/solve2.py deleted file mode 100644 index f508ad9..0000000 --- a/2024/day7/solve2.py +++ /dev/null @@ -1,44 +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 - - new_result = int(f"{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 |