愚人节的礼物

Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 10260    Accepted Submission(s): 6064

Problem Description
四月一日快到了,Vayko想了个愚人的好办法——送礼物。嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。

用()表示一个盒子,B表示礼物,Vayko想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。

Input

本题目包含多组测试,请处理到文件结束。
每组测试包含一个长度不大于1000,只包含'(',')'和'B'三种字符的字符串,代表Vayko设计的礼物透视图。
你可以假设,每个透视图画的都是合法的。

Output

对于每组测试,请在一行里面输出愚人指数。

Sample Input

((((B)()))()) (B)
Sample Output
4 1
Author
Kiki

Source

2008杭电集训队选拔赛——热身赛

问题链接: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 愚人节的礼物【堆栈+输入输出】相关推荐

  1. HDU1870 愚人节的礼物【堆栈+输入输出+水题】

    愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  2. hdu1870 愚人节的礼物

    题目:点击打开链接 今个儿携程要是这么简单就好了.. 不是'('就是')',如果出现了B,那么清空栈,最后+1取相反数.其实根本用不着存进去- -..直接假装有个栈就行.. The reason I ...

  3. 愚人节的礼物(HDU1870)

    愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  4. 1045: 愚人节的礼物

    1045: 愚人节的礼物 时间限制: 1 Sec  内存限制: 128 MB 提交: 169  解决: 137 [提交][状态][讨论版] 题目描述 四月一日快到了,Vayko 想了个愚人的好办法-- ...

  5. HDU 1870 愚人节的礼物 栈的应用

    愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  6. HDU 1870 愚人节的礼物

    题目链接:愚人节的礼物 解题思路:用栈保存括号,遇到(进栈,)出栈,遇到B输出栈内元素个数.水题. #include<cstdio> #include<cstring> #in ...

  7. 1870 愚人节的礼物

    愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  8. c++实现简单的数据结构(1.链表合并 2.士兵队列训练问题 3.Rails 4.Josephus Problem 5.Tree Recovery 6.四则运算 7.愚人节的礼物 8.Web)

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮 ...

  9. 愚人节的礼物---浅析

    愚人节的礼物 : 这道题将()当做箱子,因而我只需计算在找到B之前至少需要打开多少()即可,在出现(()(B))情况,我们其实无需打开另外一个箱子,只需要直接打开B. 因此这道题的主要思想就是数清楚& ...

最新文章

  1. unix cut命令
  2. postman根据请求内容生成对应的代码(Java、Go、C语言等)
  3. 确定S中最接近中位数的k个元素(算法导论第三版9.3-7)
  4. 百兆工业交换机与千兆工业交换机如何计算码率?
  5. java 布局实例,HarmonyOS Java UI之StackLayout布局示例
  6. 插槽的使用_思维导图
  7. (35)FPGA打两拍、打三拍设计(第7天)
  8. python编辑excel文件_python自动化之修改excel(包括xls文件和xlsx文件)
  9. WebLogic—在Eclipse上配置WebLogic Server
  10. Unity的包体压缩以及音效优化
  11. 限时,字节Java程序性能优化宝典大全,这才叫真正的性能优化
  12. 基于JAVA疫情防控期间网上教学管理计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  13. ubuntu 12.04中搭建nfs服务器
  14. STM32|HSE/HSI调频
  15. window引导配置bcdedit
  16. 微信小程序getday方法_日期getDay()方法和JavaScript中的示例
  17. 数据可视化之小提琴图(原理+Python代码)
  18. 在线考试系统的倒计时
  19. Hp电脑测试软件还是硬件问题,惠普硬件怎么检测
  20. 【ML on Kubernetes】第 3 章:探索 Kubernetes

热门文章

  1. CIO40: 2020年IT人员如何借机破局
  2. iOS APP转让条件
  3. Vim中文本全部选中
  4. aix 下创建vg和lv
  5. ES6中的entries
  6. 计算机英语感想1500,英语教学的心得体会1500字
  7. 柏力纪德:网店开店之后怎么运营
  8. 四重境界:人渣、小人、君子、圣人
  9. mac 中 caps lock和control键交换,以及alt键替换option方法
  10. Android高手笔记 - IO优化