zoukankan
html css js c++ java
HDU3350 #define is unsafe 栈的应用
//数据结构-栈的应用 #include<iostream> #include<string> #include<vector> using namespace std; struct node { int value;//值 int add;//+的次数 }; //用容器实现栈的FILO vector<node> ans;//数值栈 vector<char> sig;//符号栈 int main() { int t, i; string str; node temp, temp2; cin>>t; while(t--) { cin>>str; temp.value = 0; temp.add = 0; sig.clear(); ans.clear(); for(i = 0; i < str.length(); i++) { //逐字打扫,只有'('、'+'、 ','、')'和数字是有用的,"MAX"不用处理 //优先级:'(' > '+' > ',' > ')' switch (str[i]) { case '(': sig.push_back(str[i]); temp.value = 0; temp.add = 0; break; case '+': ans.push_back(temp); sig.push_back(str[i]); temp.value = 0; temp.add = 0; break; case ',': while(!sig.empty() && sig.back() == '+') { temp2 = ans.back(); temp.value = temp.value + temp2.value; temp.add = temp.add + 1 + temp2.add; ans.pop_back(); sig.pop_back(); } ans.push_back(temp); sig.push_back(str[i]); temp.value = 0; temp.add = 0; break; case ')': while(!sig.empty() && sig.back() == '+') { temp2 = ans.back(); temp.value = temp.value + temp2.value; temp.add = temp.add + 1 + temp2.add; ans.pop_back(); sig.pop_back(); } temp2 = ans.back(); if(temp2.value > temp.value) { temp.value = temp2.value; temp.add = temp2.add * 2 + temp.add; } else { temp.add = temp.add * 2 + temp2.add; } sig.pop_back();sig.pop_back(); ans.pop_back(); break; case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8':case '9': temp.value = temp.value * 10 + str[i] - '0'; break; } } while(!sig.empty() && sig.back() == '+') { temp2 = ans.back(); temp.value = temp.value + temp2.value; temp.add = temp.add + 1 + temp2.add; ans.pop_back(); sig.pop_back(); } cout<<temp.value<<' '<<temp.add<<endl; } return 0; }
查看全文
相关阅读:
【Linux使用技巧】使用 tar g 参数进行增量+差异备份、还原
【Linux使用技巧】linux 死机了怎么办
【reSIProcate学习】搭建与测试笔记
【NGN学习笔记】5 IMS技术
win7 64位 java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 问题
Asp.Net页面之间传值
快递公司快递单号规律总结
DataTable导出Excel的三种方式
ASPxGridview总结(ASPxGridView的增,删,改,查,数据绑定,外观显示,功能设定,分页)
终于解决SQL Server 2008 64位系统无法导入Access/Excel的问题 2012/08/01
原文地址:https://www.cnblogs.com/windmissing/p/2559882.html
最新文章
jQuery插件开发学习笔记 拓荒者
【转】C#读取文件信息的三个步骤 拓荒者
session,application,cookie,viewstate,Querystring等的作用域 拓荒者
【转】ERP实施过程中常见技巧 拓荒者
【转】灵活运用 SQL SERVER FOR XML PATH 拓荒者
JQuery模板插件jquery.tmpl动态ajax扩展
StringTemplate遇见jQuery的冲突
html5系列目录
jQuery右键菜单contextMenu实例
AOP之PostSharp初见OnExceptionAspect
热门文章
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
代码生成技术目录
做网站策划运营不得不知的几个定律(转载)
利用Attribute简化Unity框架IOC注入
【Ubuntu使用技巧】vsftpd 虚拟用户配置(Ubuntu 10.04环境下通过)
【NGN学习笔记】4 软交换中的协议2—Megaco/H.248
【TDS学习笔记】Offline Backup/Restore the TDS
【TDS学习笔记】Install the Web Admin Tool for TDS
【NGN学习笔记】6 代理(Proxy)和背靠背用户代理(B2BUA)
【NGN学习笔记】3 软交换中的协议1SIP、SIPI/SIPT/BICC
Copyright © 2011-2022 走看看