您的位置:首页 > 大数据 > 人工智能

UVa442 Matrix Chain Multiplication(矩阵链乘)

2016-05-20 10:59 441 查看
输入n个矩阵的维度和一些矩阵链乘表达式,输出乘法的次数。如果乘法无法进行,输出error。假定A是m*n矩阵,B是n*p矩阵,那么AB是m*p矩阵,乘法次数为 m*n*p 。如果A的列数不等于B的行数,则乘法无法进行。

个人博客分析:本题的关键是解析表达式。本体的表达式比较简单,可以用一个栈来完成:遇到字母即入栈,遇到右括号时就出栈并计算,然后结果入栈。因为保证输入合法,所以括号无须入栈。(简单的括号表达式可以用栈来解析!)

样例输入:
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))


样例输出:
0
0
0
error
10000
error
3500
15000
40500
47500
15125


个人博客代码如下:

 

nike官網 中山网站建设  中山SEO 荆州SEO 中山跆拳道 中山律师
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: