Cod sursa(job #1424004)

Utilizator cristinamateiCristina Matei cristinamatei Data 23 aprilie 2015 10:14:17
Problema Parantezare optima de matrici Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, a[503], d[502][502];

int main()
{
    int i, j, k, x;
    in >> n;
    for ( i = 0; i <= n; i++ )
        in >> a[i];
    for ( i = n; i >= 0; i-- )
    {
        for ( j = i+1; j <= n; j++ )
        {
            k = i;
            d[i][j] = d[i][k] + d[k+1][j] + a[i]*a[k+1]*a[j+1];
            for ( k = i+1; k < j; k++ )
            {
                x = d[i][k] + d[k+1][j] + a[i]*a[k+1]*a[j+1];
                if ( d[i][j] > x )
                    d[i][j] = x;
            }
            d[i][i] = 0;
        }
    }
    out << d[0][n-1];
    return 0;
}