Cod sursa(job #1897196)

Utilizator virtualityBbbbbbbbbbbbbbbbbb virtuality Data 1 martie 2017 11:30:16
Problema Parantezare optima de matrici Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<bits/stdc++.h>
#define N 520
#define MAX 987987987
using namespace std;
typedef long long LL;
LL m[N][N];
int p[N];
LL mat(int i, int j){
	if(i==j) {
		m[i][j]=0;
		return 0;
	}
	int k;
	if(m[i][j] !=MAX) return m[i][j];
	for(k=i;k<=j;k++){
		m[i][j]= (min(m[i][j], mat(i, k) + mat(k+1, j) +p[i-1]*p[k]*p[j]));
	}
	return m[i][j];
}
int main(){
	int i,n, j;
	ifstream f("podm.in");
	ofstream g("podm.out");
	f>>n;
	for(i=0;i<=n;i++) {
		f>>p[i];
	}
	for(i=1;i<=n;i++)
	for(j=1;j<=n;j++) m[i][j]=MAX;
	g<<mat(1, n);
	return 0;
}