Cod sursa(job #1791274)

Utilizator Tyler_BMNIon Robert Gabriel Tyler_BMN Data 29 octombrie 2016 11:18:38
Problema Parantezare optima de matrici Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>

using namespace std;

int d[505],n;

ifstream fin("podm.in");
ofstream fout("podm.out");

void citire()
{
    fin>>n;
    for(int i=0;i<=n;i++)
        fin>>d[i];
}

int m[505][505];

int main()
{
    citire();

    for(int i=1;i<=n;i++)
        m[i][i]=0;

    for(int x=1;x<=n;x++)
        for(int i=1;i<=n;i++)
        {
            int j=i+x;

            int Min=m[i][i]+m[i+1][j]+(d[i-1]*d[i]*d[j]);
            for(int k=i+1;k<j;k++)
            {
                int s=m[i][k]+m[k+1][j]+(d[i-1]*d[k]*d[j]);
                if(s<Min)
                    Min=s;
            }
            m[i][j]=Min;
        }

    fout<<m[1][n];

    return 0;
}