ZOJ 1094 带括号的矩阵连乘
//
//带括号矩阵连乘的模拟
//使用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 带括号的矩阵连乘相关推荐
- C++中定义对象的语法,带括号与不带括号有什么区别?
#include <iostream> class MyClass { public: MyClass() { std::cout << "Hello MyClass ...
- [转]c++ new带括号和不带括号
ref:http://m.blog.csdn.net/blog/u012745772/42420443 在new对象的时候有加上(),有不加(),不知道这个到底是什么区别? 比如: CBase *ba ...
- C++ 创建对象时带括号和不带括号的区别
在阅读Intel Realsense 摄像头代码时,遇到这样一段,它的创建对象方法感觉跟平时不太一样: 平时看到创建对象的语法大致是这样的: 遂查: 参考文章:c++对象创建带括号与无括号的区别
- python括号的区别_Python中类-带括号与不带括号的区别
类不带括号我们叫赋值,带括号我们叫实例化. 什么是赋值? a=7 b=a id(7) 140726814208448 id(a) 140726814208448 id(b) 1407268142084 ...
- linux 删除文件名带括号的文件
删除带括号的会报错: 在括号前加\ , 问题解决. 转载于:https://www.cnblogs.com/peterpanzsy/archive/2013/05/18/3084942.html
- R语言ggplot2可视化为轴标签添加下标实战:符号下标、百分比下标、带括号的下标
R语言ggplot2可视化为轴标签添加下标实战:符号下标.百分比下标.带括号的下标 目录
- 图片顺序命名不带括号,方法步骤
如何将图片顺序命名不带括号?假设现在有很多的图片,现在需要将图片按照顺序进行命名,很多小伙伴表示比较的简单,只要将图片全部选中,然后右击鼠标进行重命名,这样就能得到按顺序进行命名的图片.这也是一个不错 ...
- 利用栈实现四则运算,带负数,带括号,带小数
这利用栈实现四则运算,带负数,带括号,带小数,自己写的有问题大家纠正. #include <stdio.h> #include <stdlib.h> #include < ...
- VSCode(Visual Studio Code) 在Python中,自动提示函数选中后带括号设置
最近发现VSCode 界面真的很炫,而且占用空间小,只有40多M,启动更是秒开,同时应用商店各种开发调试工具,支持各种语言,简直是开发利器. 最近我在用它Python写Tensorflow和OpenC ...
最新文章
- 揭开知识库问答KB-QA的面纱1·简介篇
- gossip 区块链_区块链技术创新生态 Gossiptoken黑马横空出世
- 基于微服务架构,改造企业核心系统之实践
- php自带count 函数,深入理解PHP 数组之count 函数
- Java基础复习——继承机制
- 【沫沫金】安卓手机版 - 日期控件
- C语言解决迭代递推问题
- Linux文件内容操作(六) 格式化文本 fmt
- zen brush 2 android,zen brush2
- 世界那么大,你又怎么能看的完呢
- python数据表盘_构建一个简单地分析表盘
- 过滤器(Filter)解决跨域问题
- 游戏HTML翻翻乐,大班益智游戏翻翻乐教案
- 2、面向对象的思维(与结构化思维比较)
- MATLAB画一个球
- 二建机电实务视频教程
- 字符串和字符串标准库
- 机器学习中的无监督学习是什么?
- 数据库视图有什么作用
- 矩阵压缩降维动态规划递推【P1719 最大加权矩形】
热门文章
- 人工智能还能登上微博热搜?热搜关键词你得看看!
- 期末计算机课总结100字,学期总结:学期总结100字
- jredis和letucce_深入理解Redis(一)——高级键管理与数据结构
- php升维,svm算法详解
- ElementUI-学生管理系统后台实例
- oracle 开并行写入命令,Oracle等待事件“日志文件并行写入”更改
- @configuration注解_Spring注解@Configuration
- 设计模式之十二:组合模式(composite)
- Safari 快捷键
- kettle-连接控件