题解 | #矩阵乘法计算量估算#

矩阵乘法计算量估算

https://www.nowcoder.com/practice/15e41630514445719a942e004edc0a5b

#include <iostream>
#include <vector>
#include <stack>
using namespace std;

int main() {
    int n,res = 0;
    cin >> n;
    vector<vector<int>> matrixs(n, vector<int>(2,0));
    for(int i=0; i<n; i++){
        for(int j=0; j<2; j++){
            cin >> matrixs[i][j];
        }
    }
    string s;
    cin >> s;
    int len = s.size();
    stack<vector<int>> stl;

    for(int i=0; i<len; i++){
        if(s[i] == '('){
            stl.push({0});
        } else if(s[i] == ')'){
            int a,b,c;

            a = stl.top()[0];
            b = stl.top()[1];
            stl.pop();

            c = stl.top()[0];
            stl.pop();

            res += a * b * c;

            stl.pop();
            stl.push({c,b});
        } else {
            stl.push(matrixs[static_cast<int>(s[i] - 'A')]);
        }
    }

    cout << res << endl;
    return 0;
}
// 64 位输出请用 printf("%lld")

对 栈 的顺序掌握度还是不够

全部评论

相关推荐

不愿透露姓名的神秘牛友
09-30 19:49
起名星人:蛮离谱的,直接要求转投销售
投递汇川技术等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务