Pagini recente » Cod sursa (job #2864138) | Cod sursa (job #369972) | Cod sursa (job #2557336) | Cod sursa (job #1631232) | Cod sursa (job #654971)
Cod sursa(job #654971)
/*
* File: Parantezareoptimadematrici.cpp
* Author: slycer
*
* Created on December 31, 2011, 2:41 PM
*/
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <cmath>
using namespace std;
/*
*
*/
int main(int argc, char** argv) {
ifstream input("podm.in");
ofstream output("podm.out");
int n;
int * data;
int ** dp;
input >> n;
data = new int[n+1];
dp = new int * [n];
for ( int i=0; i<n; i++){
dp[i] = new int[n];
}
for ( int i=0; i<=n; i++){
input >> data[i];
}
for ( int i=1; i<n; i++ ){
for ( int j=0; j<n-i; j++){
//cout << j << " " << ( j+i ) << endl;
int linie = j;
int coloana = j+i;
if ( i == 1 ){
dp[linie][coloana] = data[linie]*data[linie+1]*data[linie+2];
} else {
dp[linie][coloana] = min ( dp[linie+1][coloana] + data[linie]* data[linie+1]*data[coloana+1],
dp[linie][coloana-1] + data[linie] * data[coloana] * data[coloana+1]
);
}
}
}
output << dp[0][n-1];
return 0;
}