Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- intrare .txt
- 4
- 3 4 9 5 2
- n=4 numarul de matrici; prima are dimensiunile (3,4) a doua (4,9) a treia (9,5), a 4-a (5,2)
- */
- #include<iostream>
- #include<cstdio>
- #include<fstream>
- #include<vector>
- #include<limits>
- #include<algorithm>
- using namespace std;
- int main() {
- int n, i, j, k;
- vector<int> P;
- int M[100][100];
- ifstream fin("intrare.txt");
- fin >> n;
- for (i = 0; i <= n; i++)
- for (j = 0; j <= n; j++)
- M[i][j] = 999;
- P.resize(n + 1);
- for (i = 0; i <= n; i++) fin >> P[i];
- fin.close();
- for (i = 1; i <= n; i++)
- M[i][i] = 0;
- for (int len = 1; len < n; len++)
- for (i = 1; i + len <= n; i++)
- for (k = i; k < i + len; k++)
- M[i][i + len] = min(M[i][i + len], M[i][k] + M[k + 1][i + len] + P[i - 1] * P[k] * P[i + len]);
- cout << M[1][n] << endl << endl; // costul inmultirii celor n matrici
- for (i = 1; i <= n; i++) {
- for (j = 1; j <= n; j++)
- printf("%3d ", M[i][j]);
- printf("\n");
- }
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement