summaryrefslogtreecommitdiff
path: root/2024/day7/solve.py
diff options
context:
space:
mode:
Diffstat (limited to '2024/day7/solve.py')
-rw-r--r--2024/day7/solve.py38
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