/ Vijos / 题库 /

矩阵链乘

矩阵链乘

时间限制:1秒  内存限制:256M


【问题描述】

  输入 \(N\) 个矩阵的维度和一些矩阵链乘法表达式,输出乘法的次数,如果表达式无法进行,输出"error"。

  假定 \(A\) 是 \(m * n\) 的矩阵,\(B\) 是 \(n * p\) 的矩阵,那么 \(AB\) 是 \(m * p\) 的矩阵,乘法次数为 \(m * n * p\)。如果 \(A\) 的列数不等于 \(B\) 的行数,则乘法无法进行。例如:\(A\) 是 \(50 * 10\) 的矩阵,\(B\) 是 \(10 * 20\) 的矩阵,\(C\) 是 \(20 * 5\) 的矩阵,则 \((A(BC))\) 的乘法次数为 10 * 20 * 5( \(BC\) 的乘法次数)+ 50 * 10 * 5(\((A(BC))\) 的乘法次数) = 3500 次。

【输入格式】

  第一行一个整数 \(N\),表示有 \(N\) 个矩阵。
  接下来的 \(N\) 行,每行表示一个矩阵的信息:矩阵名称(一个大写字母),行数,列数。节下来的若干行,每行一个矩阵链乘法表达式,表达式一定正确(括号一定配对,且只须按括号对计算)。

【输出格式】

  针对输入每个表达式,按输入顺序输出乘法次数或error。

【输入输出样例】

 Input

9
A 50 10
B 10 20
C 20 5
D 30 35
E 35 15
F 15 5
G 5 10
H 10 20
I 20 25
A
B
C
(AA)
(AB)
(AC)
(A(BC))
((AB)C)
(((((DE)F)G)H)I)
(D(E(F(G(HI)))))
((D(EF))((GH)I))

 Output

0
0
0
error
10000
error
3500
15000
40500
47500
15125

【数据说明】

  对于 \(100\%\) 的数据 表达式长度不超过100,且最后的答案不超过10^18。。

【来源】

  Mr.he

信息

ID
2418
难度
(无)
分类
数据结构 | 字符串 | 表达式处理 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
上传者