Pagini recente » Cod sursa (job #1068624) | Cod sursa (job #1986809) | Cod sursa (job #1711209) | Cod sursa (job #876257) | Cod sursa (job #472866)
Cod sursa(job #472866)
// Parantezare optima de matrici.cpp : Defines the entry point for the console application.
//
//#include "stdafx.h"
#include "stdio.h"
FILE *f=fopen("podm.in", "r");
FILE *g=fopen("podm.out", "w");
int n, d[501];
int v[501][501];
void read()
{
fscanf(f, "%d", &n);
for (int i=0; i<=n; i++)
fscanf(f, "%d", &d[i]);
for (int j=1; j<=500; ++j)
for (int k=1; k<=500; ++k)
v[j][k]=100000000;
}
int minim(int x, int y)
{
if (x<y) return x;
return y;
}
void program()
{
for (int i=1; i<=n; i++)
{
v[i][i+1]=d[i-1]*d[i]*d[i+1];
v[i][i]=0;
}
for (int k=2; k<n; ++k)
for (int i=1; i<=n-2; ++i)
for (int j=i; j<i+k; ++j)
v[i][i+k]=minim(d[i-1]*d[j]*d[i+k]+v[i][j]+v[j+1][i+k], v[i][i+k]);
}
int main()
{
read();
program();
fprintf(g, "%d", v[1][n]);
return 0;
}