Cod sursa(job #410110)

Utilizator jupanubv92Popescu Marius jupanubv92 Data 4 martie 2010 09:27:07
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdio.h>
#define INF 100000001
#define Nmx 10002

int a[Nmx][Nmx],n,d[Nmx];

void podm()
{
    for(int nr=2;nr<=n;++nr)
    {
        for(int i=1;i<=n-nr+1;++i)
        {
            int j=i+nr-1;
            a[i][j]=INF;
            for(int k=i;k<j;++k)
            if(a[i][j]>a[i][k]+a[k+1][j]+d[i]*d[k+1]*d[j+1])
                a[i][j]=a[i][k]+a[k+1][j]+d[i]*d[k+1]*d[j+1];
        }
    }
    printf("%d\n",a[1][n]);
}

int main()
{
    freopen("podm.in","r",stdin);
    freopen("podm.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n+1;++i)
        scanf("%d",&d[i]);
    podm();
    return 0;
}