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

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

全部评论

相关推荐

10-27 02:29
已编辑
门头沟学院 嵌入式工程师
牛客72783561...:简历不是这么写的,你这两个项目只说了用到了什么技术,却没说取得了什么成果,在我看来这就是你自己做的一个demo,没有价值。你为什么不写你电赛国二的那个项目?
点赞 评论 收藏
分享
用微笑面对困难:你出于礼貌叫了人一声大姐,大姐很欣慰,她真把你当老弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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