#include <map>
#include <stack>
#include <iostream>
using namespace std;

struct Node { int row, col; };

int main()
{
int n;
char name;
map<char, Node> matrix;
cout<<"please input the number of the zimu:"<<endl;
cin >> n;
cout<<"please input the information of the matrix:"<<endl;
for(int i = 0; i < n; i++)
{
cin >> name;
cin >> matrix[name].row >> matrix[name].col;
}
cout<<"please input the experssion for compute:"<<endl;
string exp;
while(cin >> exp)
{
int i,p;
int count = 0;
stack<Node> array;
for(i = 0; i < exp.size(); i++)
{
if(exp[i] == '(') continue; //continue 是跳出本次循环,而break 是跳出本层循环
if(exp[i] == ')')
{
Node b = array.top();
array.pop();
Node a = array.top();
array.pop();
if(a.col != b.row)
{
cout<<"error"<<endl;
break;
}
count += a.row * b.row * b.col;
Node tmp = {a.row, b.col};
array.push(tmp);
}
else array.push(matrix[exp[i]]);
}
if(i == exp.size())
{
cout<<"the total number of the experssion is:"<<endl;
cout << count << endl;
};
cout<<"continue or not?"<<endl;
cout<<"jixu(1)"<<" "<<"tingzhi(0)"<<endl;
cin>>p;
if (p==0) break;
else cout<<"please input the experssion for compute:"<<endl;
}
system("pause");
return 0;
}

STL模板之_map,stack(计算矩阵相乘的次数)的更多相关文章

  1. CUDA计算矩阵相乘

    1.最简单的 kernel 函数 __global__ void MatrixMulKernel( float* Md, float* Nd, float* Pd, int Width) { int ...

  2. caioj 1618 【动态规划】矩阵相乘的次数

    刷刷水题压压惊 低级版的能量项链 相当于复习一次中链式dp 这种合并了之后又后效性的题目 都可以用类似的方法做 #include<cstdio> #include<cstring&g ...

  3. Java实现矩阵相乘问题

    1 问题描述 1.1实验题目 设M1和M2是两个n×n的矩阵,设计算法计算M1×M2 的乘积. 1.2实验目的 (1)提高应用蛮力法设计算法的技能: (2)深刻理解并掌握分治法的设计思想: (3)理解 ...

  4. 标准模板库(STL)学习探究之stack

    标准模板库(STL)学习探究之stack queue priority_queue list map/multimap dequeue string

  5. 编程计算2×3阶矩阵A和3×2阶矩阵B之积C。 矩阵相乘的基本方法是: 矩阵A的第i行的所有元素同矩阵B第j列的元素对应相乘, 并把相乘的结果相加,最终得到的值就是矩阵C的第i行第j列的值。 要求: (1)从键盘分别输入矩阵A和B, 输出乘积矩阵C (2) **输入提示信息为: 输入矩阵A之前提示:"Input 2*3 matrix a:\n" 输入矩阵B之前提示

    编程计算2×3阶矩阵A和3×2阶矩阵B之积C. 矩阵相乘的基本方法是: 矩阵A的第i行的所有元素同矩阵B第j列的元素对应相乘, 并把相乘的结果相加,最终得到的值就是矩阵C的第i行第j列的值. 要求: ...

  6. POJ 2246 Matrix Chain Multiplication(结构体+栈+模拟+矩阵相乘)

    题意:给出矩阵相乘的表达式,让你计算需要的相乘次数,如果不能相乘,则输出error. 思路: 参考的网站连接:http://blog.csdn.net/wangjian8006/article/det ...

  7. 【神经网络与深度学习】【C/C++】比较OpenBLAS,Intel MKL和Eigen的矩阵相乘性能

    比较OpenBLAS,Intel MKL和Eigen的矩阵相乘性能 对于机器学习的很多问题来说,计算的瓶颈往往在于大规模以及频繁的矩阵运算,主要在于以下两方面: (Dense/Sparse) Matr ...

  8. HDU1575Tr A(矩阵相乘与快速幂)

    Tr A hdu1575 就是一个快速幂的应用: 只要知道怎么求矩阵相乘!!(比赛就知道会超时,就是没想到快速幂!!!) #include<iostream> #include<st ...

  9. 利用Hadoop实现超大矩阵相乘之我见(二)

    前文 在<利用Hadoop实现超大矩阵相乘之我见(一)>中我们所介绍的方法有着“计算过程中文件占用存储空间大”这个缺陷,本文中我们着重解决这个问题. 矩阵相乘计算思想 传统的矩阵相乘方法为 ...

随机推荐

  1. 从表中删除重复记录的sql

    --有一个表,假设是这样的 CREATE TABLE Test ( field1 ) primary key, field2 )); --假设field1上有索引. 要删除表中所有field1重复的记 ...

  2. REPL LOG

    using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressi ...

  3. 删除已经配置的类库和移除CocoaPods[转]

    转自:http://blog.csdn.net/jymn_chen/article/details/19213601 引言 在使用CocoaPods(一)为项目配置第三方类库我们使用CocoaPods ...

  4. jade报错:unexpected token

    背景:项目在执行gulp命令构建的时候报了jade错误,错误位置指向的是一个空白行,而这个空白行的上下文都是一些注释,错误信息显示unexpected token "pipeless-tex ...

  5. Volley获取网络图片使用总结

    参考资料 http://www.3fwork.com/b600/001956MYM002697/ //缓存 int cacheSize= 10 * 1024 * 1024; //声明一个新的Reque ...

  6. HTML5 aria- and role

    HTML5 aria-* and role 在video-js的demo中看到了很多aria-*,不知道干嘛的.google一下,发现aria的意思是Accessible Rich Internet ...

  7. Burning Bridges-ZOJ1588(割边求解)

    Burning Bridges Time Limit: 5 Seconds Memory Limit: 32768 KB Ferry Kingdom is a nice little country ...

  8. Chrom 浏览器一些命令

    https://webkit.org/build-tools/  开发环境搭建 开源:http://www.17ky.net/kyxm/4_0_3_2_0_0/ http://www.chromium ...

  9. UVA10561 Treblecross 组合游戏/SG定理

    Treblecross is a two player gamewhere the goal is to get three X in a row on a one-dimensional board ...

  10. mysql中查询语句中的一个知识点说明

    1, 简单说明. select * from tb_name where 1[不为零即可];则会显示所有记录,select * from tb_name where 0;则不显示任何记录 假设数据库中 ...