Cod sursa(job #517035)

Utilizator ionicaion ionica Data 27 decembrie 2010 16:51:01
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream.h>
#define NMAX 99
 long long  m[501][501],p[501];

int main()
{int n,i,j,k,im,d;
long long v,min;
 ifstream f("podm.in");
 ofstream g("podm.out");
 f>>n;
 for(i=1;i<=n+1;i++)f>>p[i];
 f.close();
 for(i=1;i<=n;i++)m[i][i]=0;
 for(d=2;d<=n;d++)
   for(i=1,j=d;j<=n;i++,j++)
     {min=m[i][i]+m[i+1][j]+p[i]*p[i+1]*p[j+1];
      im=i;
      for(k=i+1;k<j;k++)
	 {v=m[i][k]+m[k+1][j]+p[i]*p[k+1]*p[j+1];
	  if(min>v){min=v;
		      im=k;
		     }
	  }
      m[i][j]=min;
      }
	 g<<m[1][n]<<'\n';
    return 0;
}