首页 > 代码库 > UVA442-栈
UVA442-栈
题意:
求矩阵相乘的次数,用栈
WA了这么多次
下次还是不能去猜题意,o(︶︿︶)o 唉
#include<iostream>#include <stdio.h>#include <memory.h>using namespace std;struct Node{ int r; int c;};int main(){ freopen("d:\\1.txt", "r", stdin); int total; Node node[26]; cin >> total; char cc; int r, c; while (total--) { cin >> cc >> r >> c; Node nn; nn.r = r; nn.c = c; node[cc-‘A‘] = nn; } string str; while (cin>>str) {// cout << str << endl; total = 0; Node stack[1000]; int s = 0; bool error = false; int length = str.length(); for(int i = 0; i < length; i++) { cc = str.at(i); if(cc == ‘)‘) { //pop; Node node2 = stack[--s]; Node node1 = stack[--s]; //r1*c1*c2 if(node1.c != node2.r) { error = true; break; } total += node1.r * node1.c * node2.c; Node node3; node3.r = node1.r; node3.c = node2.c; stack[s++] = node3; } else if(‘A‘ <= cc && cc <= ‘Z‘) { stack[s++] = node[cc - ‘A‘]; } } if(error) cout << "error" << endl; else cout << total << endl; } return 0;}
UVA442-栈
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。