Cod sursa(job #1214737)

Utilizator DenisONIcBanu Denis Andrei DenisONIc Data 31 iulie 2014 11:51:50
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long n,i,j,j2,v[502],mat[502][502];
long  minn(long st,long dr)
{
    long i,min2=99999999;
    for (i=st;i<dr;i++)
    {
        if (mat[st][i]+mat[i+1][dr]+v[st]*v[i+1]*v[dr+1]<min2)
            min2=mat[st][i]+mat[i+1][dr]+v[st]*v[i+1]*v[dr+1];
    }
    return min2;
}
int main()
{
    f>>n;
    for (i=1;i<=n+1;i++)
        f>>v[i];
    for (i=1;i<=n;i++)
    {
        j2=0;
        for (j=1+i;j<=n;j++)
        {
            j2++;
            mat[j2][j]=minn(j-i,j);
        }
    }
    g<<mat[1][n];
    f.close();
    g.close();
    return 0;
}