Pagini recente » Cod sursa (job #2369546) | Cod sursa (job #17997) | Cod sursa (job #1994767) | Cod sursa (job #2029549) | Cod sursa (job #1001550)
#include <iostream>
using namespace std;
int minim(int a,int b)
{
if(a<b)
return a;
return b;
}
#define inf 1000000000
int main()
{
int d[505],din[505][505],n;
int x[505];
int y[505];
cin>>n;
int i;
for(i=0;i<=n;i++)
{
cin>>d[i];
y[i]=d[i];
x[i+1]=d[i];
}
for(i=1;i<=n;i++)
{
din[i][i]=0;
cout<<din[i][i]<<' ';
}
cout<<endl;
int j,k,p;
for(k=1;k<=(n-1);k++)
{
for(i=1;(i+k)<=n;i++)
{
din[i][i+k]=inf;
for(p=i;p<(i+k);p++)
din[i][i+k]=minim(din[i][i+k],din[i][p]+din[p+1][i+k]+x[p]*x[p+1]*y[p+1]);
cout<<din[i][i+k]<<' ';
}
cout<<endl;
}
cout<<din[1][n]<<endl;
return 0;
}