算法之路二:刘汝佳算法竞赛入门经典:栈和队列 矩阵链乘UVA442
2017-02-09 17:42
330 查看
#include<cstdio> #include<stack> #include<iostream> #include<cstring> using namespace std; struct Matrix{ int a,b; Matrix(int a=0,int b=0):a(a),b(b) {} }m[26]; stack<Matrix>s; int main() { int n; cin>>n; for(int i=0;i<n;i++) { string name; cin>>name; int k=name[0]-'A'; cin>>m[k].a>>m[k].b; } string expr; while(cin>>expr) { int len=expr.length(); bool error=false; int ans=0; for(int i=0;i<len;i++) { if(isalpha(expr[i])) s.push(m[expr[i]-'A']); else if(expr[i]==')') { Matrix m2=s.top();s.pop(); Matrix m1=s.top();s.pop(); if(m1.b!=m2.a) { error=true; break; } ans+=m1.a*m1.b*m2.b; s.push(Matrix(m1.a,m2.b)); } } if(error) printf("error\n"); else printf("%d\n",ans); } return 0; }
相关文章推荐
- 算法之路二:刘汝佳算法竞赛入门经典:STL队列 团体队列UVA540
- 算法之路二:刘汝佳算法竞赛入门经典:栈和队列 铁轨UVa514
- 算法之路二:刘汝佳算法竞赛入门经典:STL映射 反片语UVA156
- 算法之路二:刘汝佳算法竞赛入门经典 4.11刽子手游戏 UVa 489
- 算法之路二:刘汝佳算法竞赛入门经典 3.5Tex中的引号 UVa272
- 算法之路二:刘汝佳算法竞赛入门经典 3.7回文词 UVa401
- 算法之路二:刘汝佳算法竞赛入门经典 3.8猜数字游戏 UVa340
- 算法之路二:刘汝佳算法竞赛入门经典 信息解码 UVA213
- 算法之路二:刘汝佳算法竞赛入门经典 3.9生成元 UVa1583
- 算法之路二:刘汝佳算法竞赛入门经典 救济金发放 UVa133
- 算法之路二:刘汝佳算法竞赛入门经典 3.10环状序列 UVa1584
- 算法之路二:刘汝佳算法竞赛入门经典 3.6WERTYU UVa10082
- 算法之路二:刘汝佳算法竞赛入门经典:STL不定长数组 木块问题 UVA101
- 算法之路二:刘汝佳算法竞赛入门经典 3.4竖式问题
- 算法之路二:刘汝佳算法竞赛入门经典:c++结构体
- 算法之路二:刘汝佳算法竞赛入门经典:c++模板
- 算法之路二:刘汝佳算法竞赛入门经典:STL排序与检索 大理石在哪 UVA10474
- 算法之路二:刘汝佳算法竞赛入门经典 组合数和素数判定
- 算法之路二:刘汝佳算法竞赛入门经典 计算数组元素和
- 算法竞赛入门经典第六章例题6-3 Matrix Chain Multiplication UVA - 442