442
来源:互联网 发布:aaa服务器 windows 编辑:程序博客网 时间:2024/05/21 21:01
UVA-442(紫书上例题6-3); 点击打开链接
#include <stack> #include <cstdio> #include <cstring> using namespace std; struct SMatrix { int row; int col; static int count; }; int SMatrix::count = 0; bool error; SMatrix mulMatrix(const SMatrix &, const SMatrix &); int main() { SMatrix matrix[26]; memset(matrix, 0, sizeof(matrix)); //enter int n; scanf("%d%*c", &n); for (int i = 0; i < n; i++) { char ch; scanf("%c", &ch); scanf("%d%d%*c", &matrix[ch-'A'].row, &matrix[ch-'A'].col); } char ch; stack<SMatrix> staMat; error = false; while (scanf("%c", &ch) != EOF) { if (ch == '\n') { if (error) { printf("error\n"); }else { printf("%d\n", SMatrix::count); } SMatrix::count = 0; error = false; } if (ch >= 'A' && ch <= 'Z') { staMat.push(matrix[ch-'A']); } if (ch == ')' && staMat.size() > 1) { SMatrix left, right, rslt; right = staMat.top(); staMat.pop(); left = staMat.top(); staMat.pop(); rslt = mulMatrix(left, right); staMat.push(rslt); } } return 0; } SMatrix mulMatrix(const SMatrix &left, const SMatrix &right) { if (left.col != right.row) { error = true; return left; }else { SMatrix::count += left.row * left.col * right.col; } SMatrix rslt; rslt.row = left.row; rslt.col = right.col; return rslt; }
0 0
- 442
- 442
- SRM 442
- uva 442
- UVA 442
- uva 442
- uva 442
- uva 442
- ocp-442
- uva 442
- UVA - 442
- UVA 442
- 442C
- UVA 442
- UVA 442
- 442 - Matrix Chain Multiplication***
- 442 - Matrix Chain Multiplication
- 442 - Matrix Chain Multiplication
- Linux中搭建一个ftp服务器详解
- Java并发工具包- java.util.concurrent
- bzoj 3930: [CQOI2015]选数 莫比乌斯反演+杜教筛
- MyEclipse的Package视图和Naviagtor视图
- Map遍历方法
- 442
- 虚拟机下开启Linux的SSH连接
- 二叉树的最大节点
- POJ2136 Vertical Histogram【打印图案】
- jquery阻止表单提交失败不成功案例案例-已解决
- 手势
- caffe在显卡为AMD的计算机上配置,无GPU
- 剑指offer——重建二叉树___
- 动态规划练习一—5吃糖果