题解 | #矩阵乘法计算量估算#

矩阵乘法计算量估算

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<Array> q = new Stack<>();
            Stack<Character> 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;
        }
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务