Cod sursa(job #649898)

Utilizator FIICHSFIICernatHurjuiSchipor FIICHS Data 16 decembrie 2011 21:22:46
Problema Parantezare optima de matrici Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.64 kb
#include "stdio.h"
typedef long long LLong;
const LLong INF=100000000000000000LL;
const int MAXN = 512;
int main(){
	FILE *f;
	LLong M[MAXN][MAXN],d[MAXN+1],n;
	int t,i,j,k,val;
	f = fopen("podm.in","r");
	fscanf(f,"%lld",&n);
	for(i=1;i<=n+1;++i)
		fscanf(f,"%lld",&d[i]);
	fclose(f);

	for(t=1;t<=n-1;t++){
    	for(i=1;i<=n-t;i++){
        	j=i+t;
        	C[i][j]=INF;
        	for(k=i;k<j;k++){
        		val = C[i][k]+C[k+1][j]+D[i]*D[k+1]*D[j+1];
           		if(C[i][j] > val)
            		C[i][j] = val;
            }
        }
    }
	f = fopen("podm.out","w");
	fprintf(f,"%lld",M[1][n]);
	fclose(f);
	return 0;
}