//
//带括号矩阵连乘的模拟
//使用stack来解决
#include<iostream>
#include<stack>
#include<string>
using namespace std;

struct matrx
{
    int row;
    int col;
}ma[30];

char str[100000];

int main()
{
    int n;
    char ch;
    cin>>n;
    while(n--)
    {
        cin>>ch;
        cin>>ma[ch-'A'].row>>ma[ch-'A'].col;
    }

while(cin>>str)
    {
        int i;
        int len,sum=0;
        matrx temp1,temp2;
        bool flags=1;

if(str[0]!='(')
        {
            cout<<0<<endl;
            continue;
        }
        len=strlen(str);

stack<matrx> set;
        for(i=1;i<len;i++)
        {
            if(str[i]=='(')  ;
            else if(str[i]==')')
            {
                //留意到这里,这样使用也行,之前用指针就不行
                temp2.row=set.top().row;
                temp2.col=set.top().col;
                set.pop();
                temp1.row=set.top().row;
                temp1.col=set.top().col;
                set.pop();
                if(temp1.col!=temp2.row)
                {
                    flags=0;
                    break;
                }
                sum+=(temp1.row)*(temp1.col)*(temp2.col);
                matrx p;
                p.row=temp1.row;
                p.col=temp2.col;
                set.push(p);
            }
            else
            {
                matrx p;
                p.row=ma[str[i]-'A'].row;
                p.col=ma[str[i]-'A'].col;
                set.push(p);
            }
        }

if(flags)
            cout<<sum<<endl;
        else
            cout<<"error"<<endl;
    }

return 0;
}

转载于:https://www.cnblogs.com/VRS_technology/archive/2010/05/11/1732303.html

ZOJ 1094 带括号的矩阵连乘相关推荐

  1. C++中定义对象的语法,带括号与不带括号有什么区别?

    #include <iostream> class MyClass { public: MyClass() { std::cout << "Hello MyClass ...

  2. [转]c++ new带括号和不带括号

    ref:http://m.blog.csdn.net/blog/u012745772/42420443 在new对象的时候有加上(),有不加(),不知道这个到底是什么区别? 比如: CBase *ba ...

  3. C++ 创建对象时带括号和不带括号的区别

    在阅读Intel Realsense 摄像头代码时,遇到这样一段,它的创建对象方法感觉跟平时不太一样: 平时看到创建对象的语法大致是这样的: 遂查: 参考文章:c++对象创建带括号与无括号的区别

  4. python括号的区别_Python中类-带括号与不带括号的区别

    类不带括号我们叫赋值,带括号我们叫实例化. 什么是赋值? a=7 b=a id(7) 140726814208448 id(a) 140726814208448 id(b) 1407268142084 ...

  5. linux 删除文件名带括号的文件

    删除带括号的会报错: 在括号前加\ , 问题解决. 转载于:https://www.cnblogs.com/peterpanzsy/archive/2013/05/18/3084942.html

  6. R语言ggplot2可视化为轴标签添加下标实战:符号下标、百分比下标、带括号的下标

    R语言ggplot2可视化为轴标签添加下标实战:符号下标.百分比下标.带括号的下标 目录

  7. 图片顺序命名不带括号,方法步骤

    如何将图片顺序命名不带括号?假设现在有很多的图片,现在需要将图片按照顺序进行命名,很多小伙伴表示比较的简单,只要将图片全部选中,然后右击鼠标进行重命名,这样就能得到按顺序进行命名的图片.这也是一个不错 ...

  8. 利用栈实现四则运算,带负数,带括号,带小数

    这利用栈实现四则运算,带负数,带括号,带小数,自己写的有问题大家纠正. #include <stdio.h> #include <stdlib.h> #include < ...

  9. VSCode(Visual Studio Code) 在Python中,自动提示函数选中后带括号设置

    最近发现VSCode 界面真的很炫,而且占用空间小,只有40多M,启动更是秒开,同时应用商店各种开发调试工具,支持各种语言,简直是开发利器. 最近我在用它Python写Tensorflow和OpenC ...

最新文章

  1. 揭开知识库问答KB-QA的面纱1·简介篇
  2. gossip 区块链_区块链技术创新生态 Gossiptoken黑马横空出世
  3. 基于微服务架构,改造企业核心系统之实践
  4. php自带count 函数,深入理解PHP 数组之count 函数
  5. Java基础复习——继承机制
  6. 【沫沫金】安卓手机版 - 日期控件
  7. C语言解决迭代递推问题
  8. Linux文件内容操作(六) 格式化文本 fmt
  9. zen brush 2 android,zen brush2
  10. 世界那么大,你又怎么能看的完呢
  11. python数据表盘_构建一个简单地分析表盘
  12. 过滤器(Filter)解决跨域问题
  13. 游戏HTML翻翻乐,大班益智游戏翻翻乐教案
  14. 2、面向对象的思维(与结构化思维比较)
  15. MATLAB画一个球
  16. 二建机电实务视频教程
  17. 字符串和字符串标准库
  18. 机器学习中的无监督学习是什么?
  19. 数据库视图有什么作用
  20. 矩阵压缩降维动态规划递推【P1719 最大加权矩形】

热门文章

  1. 人工智能还能登上微博热搜?热搜关键词你得看看!
  2. 期末计算机课总结100字,学期总结:学期总结100字
  3. jredis和letucce_深入理解Redis(一)——高级键管理与数据结构
  4. php升维,svm算法详解
  5. ElementUI-学生管理系统后台实例
  6. oracle 开并行写入命令,Oracle等待事件“日志文件并行写入”更改
  7. @configuration注解_Spring注解@Configuration
  8. 设计模式之十二:组合模式(composite)
  9. Safari 快捷键
  10. kettle-连接控件