题解 | #矩阵乘法计算量估算#
矩阵乘法计算量估算
http://www.nowcoder.com/practice/15e41630514445719a942e004edc0a5b
import java.util.*; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); while(in.hasNext()){ int n = Integer.parseInt(in.next()); Array[] array = new Array[n]; for(int i=0; i<n; i++){ array[i] = new Array(Integer.parseInt(in.next()), Integer.parseInt(in.next())); } String rule = in.next(); Stack q = new Stack<>(); Stack brack = new Stack<>(); int index = 0; int count = 0; for(char c:rule.toCharArray()){ if(c == '('){ brack.add(c); } if(c >= 'A' && c <= 'Z'){ q.add(array[index++]); } if(c == ')'){ brack.pop(); Array a = q.pop(); Array b = q.pop(); count += b.row * b.col * a.col; q.add(new Array(b.row, a.col)); } } System.out.println(count); } }
public static class Array{
private int row;
private int col;
public Array(int row, int col){
this.row = row;
this.col = col;
}
}
}