题解 | #矩阵乘法计算量估算#
矩阵乘法计算量估算
https://www.nowcoder.com/practice/15e41630514445719a942e004edc0a5b
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int[][] matrix = new int[num][2];
for(int i=0; i<num; i++){
matrix[i][0] = in.nextInt();
matrix[i][1] = in.nextInt();
}
// System.out.println(matrix);
String s = in.next();
Stack<Character> stack = new Stack<Character>();
int res = 0;
for(int i=0; i<s.length(); i++){
if(s.charAt(i) == '('){
// System.out.println(1);
}else if(s.charAt(i) == ')'){
char a = stack.pop();
char b = stack.pop();
res = res + cal(a, b, matrix);
stack.push(a);
int ii = a - 'A';
int jj = b - 'A';
matrix[ii][0] = matrix[jj][0];
matrix[ii][1] = matrix[ii][1];
// System.out.println(2);
}else{
stack.push(s.charAt(i));
// System.out.println(3);
}
}
System.out.print(res);
}
public static int cal(char a, char b, int[][] matrix){
int res = 0;
int i = a - 'A';
int j = b - 'A';
res = matrix[j][0] * matrix[j][1] * matrix[i][1];
// System.out.println(res);
return res;
}
}
