Cod sursa(job #1033110)

Utilizator radu2004GOLD radu radu2004 Data 16 noiembrie 2013 14:40:56
Problema Parantezare optima de matrici Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>

using namespace std;
int d[503],c[503][504],n,j1,j,i,max1;
FILE *f,*g;
int main()
{f=fopen ("padm.in","r");
 g=fopen ("padm.out","w");
fscanf (f,"%d",&n);
fscanf (f,"%d%d",&d[0],&d[1]);
for (i=2;i<=n;i++)
{
    fscanf (f,"%d",&d[i]);
    c[i-1][i]=d[i-2]*d[i-1]*d[i];
    for (j=i-2;j>=1;j--)
    {
        max1=10000000;
        for (j1=i;j1>=j;j1--)
        {
            if (max1>c[j][j1-1]+c[j1][i]+d[j-1]*d[j1-1]*d[i]) max1=c[j][j1-1]+c[j1][i]+d[j-1]*d[j1-1]*d[i];
             if (max1<c[j][i] || c[j][i]==0) c[j][i]=max1;
        }


    }

}
fprintf (g,"%d",c[1][n]);

    return 0;
}