Cod sursa(job #1240289)

Utilizator danyro364Savu Ioan Daniel danyro364 Data 10 octombrie 2014 22:54:54
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <stdio.h>
#define nmax 501
using namespace std;
FILE *f=fopen("podm.in","r"),*g=fopen("podm.out","w");
unsigned long q[nmax][nmax];
int main()
{
    int i,lg,k,j;
    unsigned long mini,aux,n,v[nmax];
    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=321232123;
        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;
}