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

while True:
    try:
        n = int(input())
        arr = []  # 装填输入的矩阵
        order = []  # 处理出入栈的矩阵
        res = 0  # 乘法次数
        for i in range(n):
            arr.append(list(map(int,input().split())))
        f = input()
        count = 0
        for i in f:
            if i.isalpha():
                order.append(arr[count])  # 将字符串的字母依序转化成arr对应的矩阵
                count += 1
            elif i == ')' and len(order) >=2:  # 碰到‘)’并且此时栈内有两个以上矩阵,开始计算
                b = order.pop()
                a = order.pop()
                res += a[1]*b[1]*a[0]  # 累计每次乘法次数
                order.append([a[0],b[1]])  # 将计算后得到的矩阵装进栈内
        print(res)
    except:
        break

全部评论

相关推荐

本神尊:看来是没招到小红薯上的人
点赞 评论 收藏
分享
06-27 12:30
延安大学 C++
实习+外包,这两个公司底层融为一体了,如何评价呢?
一表renzha:之前面了一家外包的大模型,基本上都能答出来,那面试官感觉还没我懂,然后把我挂了,我都还没嫌弃他是外包,他把我挂了……
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务