import java.util.Scanner; import java.util.Stack; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { // 要计算的矩阵个数 int n = scanner.nextInt(); // 数组,存储每个矩阵的行数,列数 int[][] arr = new int[n][2]; for (int i = 0; i < n; i++) { arr[i][0] = scanner.nextInt(); arr[i][1] = scanner.nextInt(); } scanner.nextLine(); // 计算法则 String str = scanner.nextLine(); System.out.println(timesOfMatrixMultiplication(str, arr)); } } private static int timesOfMatrixMultiplication(String str, int[][] arr) { // 需要进行的乘法次数 int total = 0; Stack<Integer> stack = new Stack<>(); for (char c : str.toCharArray()) { if (c != '(') { if (c == ')') { int x = stack.pop(); int y = stack.pop(); total += arr[y][0] * arr[y][1] * arr[x][1]; arr[y][1] = arr[x][1]; stack.add(y); } else { int i = c - 'A'; stack.add(i); } } } return total; } }