|
发表于 2016-11-29 20:50:48
|
显示全部楼层
解答:
- #coding:utf-8
- L = 201
- ways = [[[0]*L] for i in range(L)]
- ways[2] = [[2,1]]
- for i in range(2,L):
- for eachway in ways[i]:
- for p in eachway:
- n = i + p
- if n < L:
- if min([len(each) for each in ways[n]]) > min([len(each) for each in ways[i]]) + 1:
- ways[n] = [[n] + eachway]
- elif min([len(each) for each in ways[n]]) == min([len(each) for each in ways[i]]) + 1:
- ways[n] += [[n] + eachway]
- print (sum([(min([len(each) for each in ways[x]])-1) for x in range(2,201)]))
复制代码
答案:
1582 |
|