HDU1870 愚人节的礼物【堆栈+输入输出】
愚人节的礼物
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 10260 Accepted Submission(s): 6064
用()表示一个盒子,B表示礼物,Vayko想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。
Input
每组测试包含一个长度不大于1000,只包含'(',')'和'B'三种字符的字符串,代表Vayko设计的礼物透视图。
你可以假设,每个透视图画的都是合法的。
Output
Sample Input
Source
问题链接:HDU1870 愚人节的礼物。
问题描述:参见上述链接。
问题分析:
这是一个字符串输入输出处理问题,也是一个堆栈问题。表达式处理问题,最方便的是用堆栈来处理。
实际上并不需要一个堆栈,只要按照堆栈的处理过程进行即可。
程序说明:
这个程序是C++实现字符串输入和处理的实例,其方法需要熟练掌握。
变量level用于记录出现过几个左括号还没有得到匹配。
程序不够优化,改写了一版,可以比较着读一下。另外,添加了C语言的版本。
AC的C++语言程序(正解)如下:
/* HDU1870 愚人节的礼物 */#include <iostream>using namespace std;int main()
{string s;int level, i;while(getline(cin, s)) {level = 0;i = 0;while(s[i]) {if(s[i] == 'B')break;else if(s[i] == '(')level++;else if(s[i] == ')')level--;i++;}cout << level << endl;}return 0;
}
AC的C语言程序如下:
/* HDU1870 愚人节的礼物 */#include <stdio.h>#define N 1000char s[N+1];int main(void)
{int level, i;while(fgets(s, N, stdin)) {level = 0;i = 0;while(s[i] != '\n') {if(s[i] == 'B')break;else if(s[i] == '(')level++;else if(s[i] == ')')level--;i++;}printf("%d\n", level);}return 0;
}
AC的C++语言程序如下:
/* HDU1870 愚人节的礼物 */#include <iostream>
#include <string>using namespace std;int main()
{string s;int len, level;while(getline(cin, s)) {len = s.length();level = 0;for(int i=0; i<len; i++) {if(s[i] == 'B')break;else if(s[i] == '(')level++;else if(s[i] == ')')level--;}cout << level << endl;}return 0;
}
转载于:https://www.cnblogs.com/tigerisland/p/7564087.html
HDU1870 愚人节的礼物【堆栈+输入输出】相关推荐
- HDU1870 愚人节的礼物【堆栈+输入输出+水题】
愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- hdu1870 愚人节的礼物
题目:点击打开链接 今个儿携程要是这么简单就好了.. 不是'('就是')',如果出现了B,那么清空栈,最后+1取相反数.其实根本用不着存进去- -..直接假装有个栈就行.. The reason I ...
- 愚人节的礼物(HDU1870)
愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 1045: 愚人节的礼物
1045: 愚人节的礼物 时间限制: 1 Sec 内存限制: 128 MB 提交: 169 解决: 137 [提交][状态][讨论版] 题目描述 四月一日快到了,Vayko 想了个愚人的好办法-- ...
- HDU 1870 愚人节的礼物 栈的应用
愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU 1870 愚人节的礼物
题目链接:愚人节的礼物 解题思路:用栈保存括号,遇到(进栈,)出栈,遇到B输出栈内元素个数.水题. #include<cstdio> #include<cstring> #in ...
- 1870 愚人节的礼物
愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- c++实现简单的数据结构(1.链表合并 2.士兵队列训练问题 3.Rails 4.Josephus Problem 5.Tree Recovery 6.四则运算 7.愚人节的礼物 8.Web)
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮 ...
- 愚人节的礼物---浅析
愚人节的礼物 : 这道题将()当做箱子,因而我只需计算在找到B之前至少需要打开多少()即可,在出现(()(B))情况,我们其实无需打开另外一个箱子,只需要直接打开B. 因此这道题的主要思想就是数清楚& ...
最新文章
- unix cut命令
- postman根据请求内容生成对应的代码(Java、Go、C语言等)
- 确定S中最接近中位数的k个元素(算法导论第三版9.3-7)
- 百兆工业交换机与千兆工业交换机如何计算码率?
- java 布局实例,HarmonyOS Java UI之StackLayout布局示例
- 插槽的使用_思维导图
- (35)FPGA打两拍、打三拍设计(第7天)
- python编辑excel文件_python自动化之修改excel(包括xls文件和xlsx文件)
- WebLogic—在Eclipse上配置WebLogic Server
- Unity的包体压缩以及音效优化
- 限时,字节Java程序性能优化宝典大全,这才叫真正的性能优化
- 基于JAVA疫情防控期间网上教学管理计算机毕业设计源码+系统+mysql数据库+lw文档+部署
- ubuntu 12.04中搭建nfs服务器
- STM32|HSE/HSI调频
- window引导配置bcdedit
- 微信小程序getday方法_日期getDay()方法和JavaScript中的示例
- 数据可视化之小提琴图(原理+Python代码)
- 在线考试系统的倒计时
- Hp电脑测试软件还是硬件问题,惠普硬件怎么检测
- 【ML on Kubernetes】第 3 章:探索 Kubernetes