In [73]:
INT_MIN = -32767
def bottomUpCutRod(p, n):
r = [0 for x in range(n+1)]
for j in range(1, n+1):
q = INT_MIN
for i in range(j):
q = max(q, p[i] + r[j-i-1])
r[j] = q
return r[n]
In [75]:
p = [1, 5, 8, 9, 10, 17, 17, 20, 24, 30, 1, 5, 8, 9, 10, 17, 17, 20, 24, 30, 1, 5, 8, 9, 10]
for i in range(len(p)):
print("i:",i,bottomUpCutRod(p,i))
In [ ]: