aboutsummaryrefslogtreecommitdiff
path: root/2015/17/puzzle-2.py
blob: 50a70f90276637ab894d9dc244a4082371a77271 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env python3

import itertools


def main() -> None:
	with open("input", "r", encoding="utf-8") as f:
		nums = list(map(int, f.readlines()))

	print(
		len(
			list(
				filter(
					lambda x: len(x) == min(map(len, combs)),
					(
						combs := list(
							filter(
								lambda x: sum(x) == 150,
								itertools.chain(
									*[
										list(itertools.combinations(nums, n))
										for n in range(len(nums) + 1)
									]
								),
							)
						)
					),
				)
			)
		)
	)


if __name__ == "__main__":
	main()