Pagini recente » Cod sursa (job #1393369) | Cod sursa (job #2985926) | Cod sursa (job #1905397) | Cod sursa (job #2978807) | Cod sursa (job #1919727)
#include <fstream>
#include <climits>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
struct MATRICE{
int l, c;
}V[501];
int D[501][501];
int DP(int i, int j){
if( i == j )
return 0;
int k, aux, min;
min = INT_MAX;
for( k = i + 1; k <= j; k++ )
if( V[k-1].c == V[k].l ){
aux = DP(i,k-1) + DP(k,j) + V[i].l * V[k-1].c * V[j].c;
if( aux < min )
min = aux;
}
return min;
}
int main()
{
int n, i, l, c;
f >> n;
f >> l;
for(i = 1; i <= n; i++){
f >> c;
V[i].l = l;
V[i].c = c;
l = c;
}
g << DP(1,n);
return 0;
}