题解 | #矩阵乘法计算量估算#
矩阵乘法计算量估算
https://www.nowcoder.com/practice/15e41630514445719a942e004edc0a5b
def cal(a,b): #2个矩阵的计算次数
return a[0]*b[1]*a[1]
def cal2(x): #遍历所给公式,并返回计算结果
pool = [] #存矩阵,以及中间计算结果的矩阵
result = 0 #存计算次数
for i in x:
if i == '(':
continue
elif i == ')': #若为右括号,从pool取顶部2个矩阵计算,用result存计算次数,将结果矩阵压回pool顶部
result += cal(pool[-2],pool[-1])
tmp = [pool[-2][0],pool[-1][1]]
pool = pool[:-2]
pool.append(tmp)
else: #若为矩阵,存入pool
pool.append(array_pool[(ord(i)-65)])
return result
while True:
try:
n = int(input())
array_pool = [] #存所给矩阵
for i in range(n):
array = list(map(int,input().split()))
array_pool.append(array)
x = input()
print(cal2(x))
except:
break

查看16道真题和解析