From e7c9108b95e39d7ea5a29ae06d619c4727f11027 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Fri, 29 Oct 2021 23:02:39 +0200 Subject: Initial commit --- 2015/17/input | 20 ++++++++++++++++++++ 2015/17/puzzle-1.py | 18 ++++++++++++++++++ 2015/17/puzzle-2.py | 20 ++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 2015/17/input create mode 100755 2015/17/puzzle-1.py create mode 100755 2015/17/puzzle-2.py (limited to '2015/17') diff --git a/2015/17/input b/2015/17/input new file mode 100644 index 0000000..09ebd46 --- /dev/null +++ b/2015/17/input @@ -0,0 +1,20 @@ +43 +3 +4 +10 +21 +44 +4 +6 +47 +41 +34 +17 +17 +44 +36 +31 +46 +9 +27 +38 diff --git a/2015/17/puzzle-1.py b/2015/17/puzzle-1.py new file mode 100755 index 0000000..b201e5b --- /dev/null +++ b/2015/17/puzzle-1.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +import itertools + + +def main() -> None: + with open("input", "r", encoding="utf-8") as f: + nums = list(map(int, f.readlines())) + + combs: list[tuple[int, ...]] = [] + for n in range(len(nums) + 1): + combs += list(itertools.combinations(nums, n)) + + print(len(list(filter(lambda x: sum(x) == 150, combs)))) + + +if __name__ == "__main__": + main() diff --git a/2015/17/puzzle-2.py b/2015/17/puzzle-2.py new file mode 100755 index 0000000..43f8922 --- /dev/null +++ b/2015/17/puzzle-2.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python3 + +import itertools + + +def main() -> None: + with open("input", "r", encoding="utf-8") as f: + nums = list(map(int, f.readlines())) + + combs: list[tuple[int, ...]] = [] + for n in range(len(nums) + 1): + combs += list(itertools.combinations(nums, n)) + + combs = list(filter(lambda x: sum(x) == 150, combs)) + conts = min(map(len, combs)) + print(len(list(filter(lambda x: len(x) == conts, combs)))) + + +if __name__ == "__main__": + main() -- cgit v1.2.3