Cod sursa(job #1919727)

Utilizator RaTonAndrei Raton RaTon Data 9 martie 2017 20:47:48
Problema Parantezare optima de matrici Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
struct MATRICE{
    int l, c;
}V[501];
int D[501][501];

int DP(int i, int j){
    if( i == j )
        return 0;
    int k, aux, min;
    min = INT_MAX;
    for( k = i + 1; k <= j; k++ )
        if( V[k-1].c == V[k].l ){
            aux = DP(i,k-1) + DP(k,j) + V[i].l * V[k-1].c * V[j].c;
            if( aux < min )
                min = aux;
        }
    return min;
}

int main()
{
    int n, i, l, c;
    f >> n;
    f >> l;
    for(i = 1; i <= n; i++){
        f >> c;
        V[i].l = l;
        V[i].c = c;
        l = c;
    }
    g << DP(1,n);
    return 0;
}