D: Doubleplusgood
https://open.kattis.com/problems/doubleplusgood
ints = input().split('+')
lens = list(map(len, ints))
ints = list(map(int, ints))
n = len(ints) - 1
possibilities = set()
for i in range(1 << n):
curr_num = ints[0]
curr_sum = 0
for j in range(n):
if (1 << j) & i:
curr_num = curr_num * pow(10, lens[j+1]) + ints[j+1]
else:
curr_sum += curr_num
curr_num = ints[j+1]
curr_sum += curr_num
possibilities.add(curr_sum)
print(len(possibilities))Last updated