http://acm.hdu.edu.cn/showproblem.php?pid=1082

``` #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<map>
using namespace std;
typedef long long ll;
const int maxn = 1e6 + ;
const int INF =  << ;
int T, n, m;
struct node
{
ll x, y;
node(){}
node(ll x, ll y):x(x), y(y){}
};
node a[];
map<char, int>Map;
int main()
{
cin >> n;
string s;
ll x, y;
for(int i = ; i < n; i++)
{
cin >> s >> x >> y;
Map[s[]] = i;
a[i].x = x;
a[i].y = y;
}
while(cin >> s)
{
stack<node>q;
ll ans = ;
bool ok = ;
for(int i = ; i < s.size(); i++)
{
if(s[i] == '(')
{
continue;
}
else if(s[i] == ')')
{
if(q.empty()){ok = ; break;}
node b = q.top();//注意，第一次取出来的是b，第二次才是a
q.pop();
if(q.empty()){ok = ; break;}
node a = q.top();
q.pop();
//cout<<a.x<<" "<<a.y<<" "<<b.x<<" "<<b.y<<endl;
if(a.y != b.x){ok = ; break;}
q.push(node(a.x, b.y));
ans += a.x * a.y * b.y;
}
else
{
q.push(a[Map[s[i]]]);
}
}
if(!ok)cout<<"error"<<endl;
else cout<<ans<<endl;
}
return ;
}```

## hdu-1082 Matrix Chain Multiplication---栈的运用的更多相关文章

1. Uva442 hdu 1082 Matrix Chain Multiplication

要注意取出来的时候 先取出q的是后面那个矩阵 后取出p的是前面的矩阵 所以是判断 p.a == q.b #include <iostream> #include <stack> ...

2. UVa442 Matrix Chain Multiplication(栈)

#include<cstdio>#include<cstring> #include<stack> #include<algorithm> #inclu ...

3. Matrix Chain Multiplication(表达式求值用栈操作）

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1082 Matrix Chain Multiplication Time Limit: 2000/100 ...

4. UVa 442 Matrix Chain Multiplication(矩阵链,模拟栈)

意甲冠军  由于矩阵乘法计算链表达的数量,需要的计算  后的电流等于行的矩阵的矩阵的列数  他们乘足够的人才  非法输出error 输入是严格合法的  即使仅仅有两个相乘也会用括号括起来  并且括号中 ...

5. ACM学习历程——UVA442 Matrix Chain Multiplication（栈）

Description   Matrix Chain Multiplication  Matrix Chain Multiplication  Suppose you have to evaluate ...

6. UVa442 Matrix Chain Multiplication

// UVa442 Matrix Chain Multiplication // 题意:输入n个矩阵的维度和一些矩阵链乘表达式,输出乘法的次数.假定A和m*n的,B是n*p的,那么AB是m*p的,乘法 ...

7. UVA——442 Matrix Chain Multiplication

442 Matrix Chain MultiplicationSuppose you have to evaluate an expression like A*B*C*D*E where A,B,C ...

8. Matrix Chain Multiplication[HDU1082]

Matrix Chain Multiplication Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

9. UVA 442 二十 Matrix Chain Multiplication

Matrix Chain Multiplication Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %l ...

10. 例题6-3 Matrix Chain Multiplication ，Uva 442

这个题思路没有任何问题,但还是做了近三个小时,其中2个多小时调试 得到的经验有以下几点: 一定学会调试,掌握输出中间量的技巧,加强gdb调试的学习 有时候代码不对,得到的结果却是对的(之后总结以下常见 ...

## 随机推荐

1. java模拟post方式提交表单实现图片上传【转】

转自:http://blog.csdn.net/5iasp/article/details/8669644 模拟表单html如下:   <form action="up_result ...

2. sdcms留言提交

引入这两个js <script src="{webroot}lib/validator/jquery.validator.js"></script>< ...

3. neo4j中文社区

关于Neo4j中文社区 官网:http://neo4j.com.cn/ Neo4j 社区为国内具影响力的 Neo4j技术社区,致力于 Neo4j 的技术研究. Neo4j 社区由一批热爱 Neo4j ...

4. 用命令访问D:\python学习\wendjia教程\aa.py

用命令访问D:\python学习\wendjia教程\aa.py d:                                -----------切换到D盘 cd python学习\wend ...

5. Javascript之拖拽库

在手机上运行触屏拖动时,我发现页面并没有反应,服务器端执行javascript在手机端与电脑端不能“相同式”实现(电脑端运行正常,而手机端不一样),这是为甚么呢? 首先,我们都知道javascript ...

6. 基于WebForm+EasyUI的业务管理系统形成之旅 -- 首页快捷方式(Ⅲ)

上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 登录窗口>,主要是介绍系统登录界面页面设计与代码. 最近刚做完施工计划安排设计,之后将分享出来,这个系列更新不是很快,望 ...

7. ASP.NET Web基本原理

ASP.NET Web基本原理 浏览器与服务器之间的交互 浏览器向服务器发送HTTP请求,具体如下: 1.浏览器向服务器发送TCP包,要求服务器打开连接 TCP包首部32位,占20字节,格式如图一: ...