Cod sursa(job #707824)

Utilizator sunt_emoSunt emo sunt_emo Data 6 martie 2012 00:43:29
Problema Parantezare optima de matrici Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;

ifstream in("podm.in");
ofstream out("podm.out");

int min(int a, int b)
{
	if (a < b)
		return a;
	return b;
}

int main()
{
	int a[510][510], nr;
	in >> nr;
	for (int i = 1; i <= nr + 1; i++)
		in >> a[i][i];
	for (int i = 1; i <= nr; i++)
		a[i][i + 1] = 0;
	for (int k = 2; k <= nr ; k++)
		for (int i = 1; i <= nr - k + 1; i++)
		{
			int j = i + k;
			a[i][j] = min(a[i][j - 1] + a[i][i] * a[j - 1][j - 1] * a[j][j],
				a[i + 1][j] + a[i + 1][i + 1] * a[j][j] * a[i][i]);
		}
	out << a[1][nr + 1] << endl;
}