int memorizedCutRod(int n)
{
if(r[n]>=0)
return r[n];
int q;
if(n==0)
q=0;
else
{
q=INT_MIN;
for(int i=1;i<=n;i++)
{
int profit=p[i]+memorizedCutRod(n-i);
if(q<profit)
{
s[n]=i;
q=profit;
}
}
}
r[n]=q;
return q;
}
算法导论 练习题 15.1-4
最新推荐文章于 2019-11-21 21:29:04 发布