Advertisement
NabilaShova

MCM

Dec 5th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.65 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int MCM(int p[7],int n)
  5. {
  6.     int m[n][n];
  7.     int q,i,j,k,l;
  8.     for(i=1;i<n;i++){
  9.         m[i][i]=0;
  10.     }
  11.     for(int l=2;l<n;l++){
  12.        for(int i=1;i<n-l+1;i++){
  13.            j=i+l-1;
  14.         m[i][j]=10000000;
  15.        for(int k=i;k<=j-1;k++){
  16.          q=m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j];
  17.          if(q<m[i][j]){
  18.              m[i][j]=q;
  19.             //s[i][k]=k;
  20.          }
  21.        }
  22.        }
  23.     }
  24.  
  25.     return m[1][n-1];
  26. }
  27.  
  28. int main(){
  29.     int p[]={30,35,15,5,10,20,25};
  30.     int n=7;
  31.     int ans=MCM(p,n);
  32.     cout<<"Minimum number of multiplications :"<<ans<<endl;
  33.  
  34. return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement