分析:
虽然矩阵连乘是动态规划的经典题型,但是这道题却只是对字符串的处理——括号运算的处理。所以利用栈来处理。
当遇到矩阵时入栈,遇到“)” 弹出连个矩阵进行运算,并将运算结果压栈。另者在矩阵相乘时注意两个矩阵是否满足相乘条件。
代码:
#include#include #include #include #include using namespace std; #define M 30 string s; int n,ans; struct node { char c; int row,cal; }a[M]; bool judge(node x,node y) { return x.row==y.cal; } int _find(char c) { for(int i=0;i sta; ans=0; for(int i=0;i >s) calc(); return 0; }