# UVA Solution 442 – Matrix Chain Multiplication | Solution in C, C++

### UVA Solution 442 – Matrix Chain Multiplication – Volume 4

UVA Online Judge Solution 442 – Matrix Chain Multiplication| Volume 4

Problem Name: 442 – Matrix Chain Multiplication
Problem Number : UVA – 442 – Matrix Chain Multiplication
Online Judge : UVA Online Judge Solution
Volume: 4
Solution Language : C, C plus plus

### UVA Solution 400 Code in C/CPP:

`#include <stdio.h>int n, i, j, k;int alpha[105][2];char s[105];void solve() {    int stack[105], sidx = -1;    int sum = 0, alidx = 'Z';    for(i = 0; s[i]; i++) {        if(s[i] == '(') {            stack[++sidx] = '(';        } else if(s[i] == ')'){            j = sidx;            while(stack[j] != '(')                j--;            for(k = j+1; k < sidx; k++) {                if(alpha[stack[k]-'A'][1] != alpha[stack[k+1]-'A'][0]) {                    puts("error");                    return;                }                sum += alpha[stack[k]-'A'][0]*alpha[stack[k]-'A'][1]*alpha[stack[k+1]-'A'][1];            }            alidx++;            alpha[alidx-'A'][0] = alpha[stack[j+1]-'A'][0];            alpha[alidx-'A'][1] = alpha[stack[sidx]-'A'][1];            stack[j] = alidx;            sidx = j;        } else            stack[++sidx] = s[i];    }    printf("%dn", sum);}int main() {    int x, y;    scanf("%d", &n);    for(i = 0; i < n; i++) {        scanf("%s %d %d", s, &x, &y);        alpha[s[0]-'A'][0] = x;        alpha[s[0]-'A'][1] = y;    }    while(scanf("%s", s) == 1) {        solve();    }    return 0;}`

Tags: UVA Online Judge Solution, UVA OJ Solution list, UVA Problems Solution, UVA solver, UVA all problem solution list, UVA Matrix Chain Multiplication  code in C, UVA 442  code in C++, UVA 442 solution in C, UVA Matrix Chain Multiplication solution

#### By Maniruzzaman Akash

Maniruzzaman Akash is a freelance web developer with most popular Laravel PHP frameork and Vue JS