mirror of
https://hub.njuu.cf/TheAlgorithms/C-Plus-Plus.git
synced 2023-10-11 13:05:55 +08:00
commit
8dbdb2f3f2
29
Dynamic Programming/Cut Rod.cpp
Normal file
29
Dynamic Programming/Cut Rod.cpp
Normal file
@ -0,0 +1,29 @@
|
||||
/*Given a rod of length n inches and an array of prices that
|
||||
contains prices of all pieces of size smaller than n. Determine
|
||||
the maximum value obtainable by cutting up the rod and selling
|
||||
the pieces.*/
|
||||
|
||||
#include <bits/stdc++.h>
|
||||
using namespace std;
|
||||
int cutrod(int p[],int n)
|
||||
{
|
||||
int r[n+1];
|
||||
r[0]=0;
|
||||
for(int j=0;j<n;j++)
|
||||
{
|
||||
int q=INT_MIN;
|
||||
for(int i=0;i<=j;i++)
|
||||
{
|
||||
q = max(q,p[i]+r[j-i]);
|
||||
}
|
||||
r[j+1]=q;
|
||||
}
|
||||
return r[n];
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int price[]={1,5,8,9,10,17,17,20,24,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50};
|
||||
cout<<cutrod(price,30);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user