describir
La cantidad de operaciones de multiplicación de matrices está fuertemente relacionada con el orden de multiplicación de matrices.
Por ejemplo:
A es una matriz de 50×10, B es una matriz de 10×20 y C es una matriz de 20×5.
Hay dos órdenes para calcular A*B*C: ((AB)C) o (A(BC)). El primero requiere 15.000 multiplicaciones, mientras que el segundo solo requiere 3.500.
Escriba un programa para calcular el número de multiplicaciones necesarias para diferentes órdenes de cálculo.
Rango de datos: Número de matrices: 1≤�≤15 1≤n≤15, número de filas y columnas: 1≤����,����≤100 1≤rowi,coli≤100, garantiza lo dado cadena El orden de cálculo representado es único .
Avanzado: Complejidad temporal: �(�) O(n), Complejidad espacial: �(�) O(n)
Introduzca la descripción:
Ingrese varias líneas. Primero ingrese el número n de matrices que se calcularán para la multiplicación, el número de filas y columnas de cada matriz, un total de 2n números, y finalmente ingrese la regla que se calculará. La regla calculada es una cadena, que consta solo con corchetes izquierdo y derecho y letras mayúsculas
. Compuesto por letras ('A'~'Z'), asegúrese de que los corchetes coincidan y que la entrada sea legal.
Descripción de salida:
Genera el número de multiplicaciones requeridas.
Ejemplo 1
ingresar:
3 50 10 10 20 20 5 (A B C))
Copie la salida:
3500
Java:
import java.util.*