给出一个堆栈高度的列表,计算这些高度通过一次堆叠块可以达到的数量。最短代码获胜。
测试用例:
[2, 2] 6
[3,3,3] 1680
[1,5,9,1] 480480
[] 1
[10] 1
[2,2,2,10] 720720参考Python实现:
def stacking_count(stacks):
if sum(stacks) == 0:
return 1
count = 0
for i, n in enumerate(stacks):
if n == 0:
continue
stacks[i] -= 1
count += stacking_count(stacks)
stacks[i] += 1
return counthttps://codegolf.stackexchange.com/questions/157051
复制相似问题