愚人节的礼物

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;
}

HDU1870 愚人节的礼物【堆栈+输入输出+水题】相关推荐

  1. 【HDU 1870 --- 愚人节的礼物】栈水题

    [HDU 1870 --- 愚人节的礼物]栈水题 Description 四月一日快到了,Vayko想了个愚人的好办法--送礼物.嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆 ...

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

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

  3. hdu1870 愚人节的礼物

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

  4. 愚人节的礼物(HDU1870)

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

  5. HDU 1870 愚人节的礼物

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

  6. 1045: 愚人节的礼物

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

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

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

  8. 1870 愚人节的礼物

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

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

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

最新文章

  1. 财会小白的办公室自救指南
  2. 在生产中使用Java 11:需要了解的重要事项
  3. 基于arcgis的python脚本编程视频-面向ArcGIS的Python脚本编程 PDF 高清版
  4. python id()函数(返回对象在内存地址中的唯一标识)
  5. ethz ‘s choice for graduate studies
  6. 23种设计模式C++源码与UML实现--中介者模式
  7. 短信猫编程的一些资料1(At指令发送短信)
  8. c语言实现语音检测vad_TWS+AI?国芯发布超低功耗语音芯片,可能是目前最理想方案...
  9. 如何执行一段java代码_V8 之 如何执行一段 JavaSscript 代码
  10. 感觉自己不适合编程 确学了计算机专业,高薪程序员:“我劝他学医,别学计算机,却被冤枉在害人”...
  11. mysql连接查询优点_1105 ROM优缺点,MySQL连接类,查插更方法
  12. c语言函数.pdf文档,c语言库函数表.pdf
  13. 树莓派pi 4 编译 linuxcnc
  14. vc++6.0常用插件和界面库
  15. jsp乔丹AJ购物网站网上鞋店黑色ssh
  16. android 数独实训报告,数独实验报告范文
  17. 【编程实践】复杂网络的基本知识及实现
  18. Delphi的常用函数
  19. 校招-顺丰前端面经总结
  20. H.323 and Associated Protocols

热门文章

  1. golang解析嵌套yaml配置(局部解析)
  2. VC中如何设置Socket的TCP/IP KeepAlive机制(MSDN)
  3. java 获取域名_Java获取域名,Java从URL地址中获取域名,Java从Request 获取域名
  4. windows运行python脚本卡住_运行python脚本安装windows服务时没有响应
  5. Vertica系列:数仓优化
  6. lcl手术和飞秒区别_关于全飞秒价格的那些事!你知道吗?
  7. 单元测试 : Googel test测试框架
  8. SCI从入门到精髓(四)——SCI论文写作技巧
  9. oracle erase,c++ stl容器vector删除(erase),遍历等基本用法介绍及头文件
  10. c++多线程——线程启动