Advertisement

实验1 算法设计 例题5

阅读量:

题目:
若需计算A×B×C×D×E,其中A、B、C、D和E均为矩阵。鉴于矩阵乘法具备结合性,因此其相乘顺序可以灵活调整。然而,不同顺序会导致矩阵相乘过程中所需的乘法次数发生变化。
例如,假设有矩阵A的维度为50×10,矩阵B为10×20,矩阵C为20×5。在计算A×B×C时存在两种不同的运算方式,分别为(A×B)×C与A×(B×C)。
第一种运算方式总共需要执行15000次乘法操作,而第二种方式仅需3500次乘法操作。
编程任务:针对给定的矩阵相乘顺序,求出完成该过程所需的乘法次数。
输入格式
输入内容包含两个部分:矩阵信息列表与矩阵相乘表达式列表。
首先输入一个整数n(1≤n≤26),用于表示矩阵的数量。随后有n行数据,每行以一个大写字母开头表示对应矩阵的名称,并紧接着两个整数分别代表该矩阵的行数和列数。
输出格式
对于第二部分中的每一个表达式,在单独的一行中输出结果:若根据表达式所指定的相乘顺序无法进行有效计算,则输出“error”;否则输出按照该顺序完成所有相乘操作所需执行的乘法次数。

在这里插入图片描述

计算流程可划分为三种

全部评论 (0)

还没有任何评论哟~