|
1234567891011121314 |
- def recurse(pending, opts, chain=tuple()):
- if pending == 0:
- yield chain
- else:
- for i, opt in enumerate(opts):
- yield from recurse(pending - opt, opts[i + 1:], chain + (opt,))
-
-
- ns = sorted([int(n) for n in df.read_text().splitlines()], reverse=True)
- opts = list(recurse(150, ns))
- ans1 = len(opts)
-
- min_n = min(map(len, opts))
- ans2 = sum(len(opt) == min_n for opt in opts)
|