Pagini recente » Istoria paginii runda/coolchoiceyay/clasament | Cod sursa (job #1526072) | Cod sursa (job #1535404) | Cod sursa (job #1291442) | Cod sursa (job #1035412)
#include <iostream>
#include <fstream>
using namespace std;
int d[100], c[100][100], n;
ifstream f("podm.in");
ofstream g("podm.out");
void citire ()
{
short i;
f>>n;
for (i=0;i<=n;i++) f>>d[i];
f.close();
}
int min (int a, int b) {
return (a<b)?a:b;
}
void matrice () {
int i,p,aux,k,j;
for (i=1;i<=n;i++) c[i][i]=0;
for (i=1;i<=n-1;i++) c[i][i+1]=d[i-1]*d[i]*d[i+1];
for (p=2;p<=n-1;p++)
for (i=1;i<=n-p;i++)
{
j=i+p;
c[i][j]=c[i][i]+c[i+1][j]+d[i-1]*d[i]*d[j];
c[j][i]=i;
for (k=i+1;k<=j-1;k++)
{
aux=c[i][k]+c[k+1][j]+d[i-1]*d[k]*d[j];
if (c[i][j]>aux) {
c[i][j]=aux;
c[j][i]=k;
}
}
}
g<<c[1][n];
g.close();
}
int main()
{
citire ();
matrice ();
return 0;
}