We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 0b1cb0d commit ae19f0dCopy full SHA for ae19f0d
matrix_chain.cpp
@@ -0,0 +1,34 @@
1
+#include <bits/stdc++.h>
2
+using namespace std;
3
+
4
+void matrixMult(int dimensions[], int n) {
5
+ int dp[n][n];
6
+ int i,j,k,l;
7
8
+ for(i=1; i<n; i++) {
9
+ dp[i][i] = 0;
10
+ }
11
+ for(l=2; l<n; l++) {
12
+ for(i=1; i<n-l+1; i++) {
13
+ j = i+l-1;
14
+ dp[i][j] = INT_MAX;
15
+ for(k=i; k<=j-1; k++) {
16
+ int cost = dp[i][k] + dp[k+1][j] + dimensions[i-1]*dimensions[k]*dimensions[j];
17
+ if(cost < dp[i][j])
18
+ dp[i][j] = cost;
19
20
21
22
+ cout<<"Min cost : "<<dp[1][n-1]<<endl;
23
+}
24
25
+int main() {
26
+ int i,n;
27
+ cin>>n;
28
+ int dimensions[n+1];
29
+ for(i=0; i<=n; i++) {
30
+ cin>>dimensions[i];
31
32
+ matrixMult(dimensions, n+1);
33
+ return 0;
34
0 commit comments