Cod sursa(job #1240307)

Utilizator danyro364Savu Ioan Daniel danyro364 Data 11 octombrie 2014 00:00:00
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <stdio.h>
#define nmax 501
using namespace std;
FILE *f=fopen("podm.in","r"),*g=fopen("podm.out","w");
unsigned long long q[nmax][nmax];
int main()
{
    int i,lg,k,j,v[nmax],n;
    unsigned long long mini,aux;
    fscanf(f,"%ld",&n);
    for(i=1;i<=n+1;i++)
        fscanf(f,"%ld",&v[i]);
    fclose(f);
    for(lg=1;lg<n;lg++)
        for(i=1;i<=n-lg;i++)
    {j=i+lg;
    mini=99999999321232123;
        for(k=i;k<j;k++)
        {
            aux=q[i][k]+q[k+1][j]+v[i]*v[k+1]*v[j+1];
            if(mini>aux)
                mini=aux;
        }
        q[i][j]=mini;
    }
    fprintf(g,"%ld",q[1][n]);
    fclose(g);
    return 0;
}