hdu 1870 愚人节的礼物 (栈)

愚人节的礼物

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

Total Submission(s): 6260    Accepted Submission(s): 3788

Problem Description

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

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

Input

本题目包含多组测试,请处理到文件结束。

每组测试包含一个长度不大于1000,只包含‘(‘,‘)‘和‘B‘三种字符的字符串,代表Vayko设计的礼物透视图。

你可以假设,每个透视图画的都是合法的。

Output

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

Sample Input

((((B)()))())
(B)

Sample Output

4
1

Author

Kiki

Source

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

不是栈的方法

#include <stdio.h>
#include <string.h>
int main()
{
	int len,sum;
	char str[1005];
	while(gets(str)!=NULL)
	{
		len=strlen(str);
		sum=0;
		for(int i=0;i<len;i++)
		{
			if(str[i]=='(')
			sum++;
			if(str[i]==')'&&sum)
			sum--;
			if(str[i]=='B')
			break;
		}
		printf("%d\n",sum);
	}
	return 0;
}

栈的方法

#include <stdio.h>
#include <stack>
#include <string.h>
using namespace std;
int main()
{
	int len,sum;
	char str[1005];
	stack<char>s;
	while(gets(str)!=NULL)
	{
		len=strlen(str);
		s.push('a');//避免str[0]==')',s.pop()访问到未知区域
		for(int i=0;i<len;i++)
		{
			if(str[i]=='(')
			s.push(str[i]);
			if(str[i]==')'&&s.top()!='a')
			s.pop();
			if(str[i]=='B')
			break;
		}
		sum=0;
		while(s.top()!='a')
		sum++,s.pop();
		printf("%d\n",sum);
	}
	return 0;
}
时间: 2024-10-04 07:16:45

hdu 1870 愚人节的礼物 (栈)的相关文章

hdu 1870 愚人节的礼物

其实根本不需要用栈,因为这题不会出现盒子打不开的情况 #include<iostream> #include<stack> #include<cstring> #define maxn 1000+5 using namespace std; stack<char>mapp; int main() { char ans[maxn]; while(cin>>ans) { int sum=0; while(mapp.size()) mapp.pop()

hdoj 1870愚人节的礼物

 /*1870愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6260    Accepted Submission(s): 3788 Problem Description 四月一日快到了,Vayko想了个愚人的好办法--送礼物.嘿嘿,不要想的太好, 这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个

HDU 1070.愚人节的礼物【字符串处理】【思维练习】【8月2】

愚人节的礼物 Problem Description 四月一日快到了,Vayko想了个愚人的好办法--送礼物.嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物.盒子里面可以再放零个或者多个盒子.假设放礼物的盒子里不再放其他盒子. 用()表示一个盒子,B表示礼物,Vayko想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物. Input 本题目包含多组测试,请处理到文件结束. 每组测试包含一个长度不大于1000,只包含'(',')'和'

nyoj 1870 愚人节礼物

愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6283    Accepted Submission(s): 3805 Problem Description 四月一日快到了,Vayko想了个愚人的好办法——送礼物.嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物.盒子

hdoj-1870-愚人节的礼物(栈)

愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6396    Accepted Submission(s): 3883 Problem Description 四月一日快到了,Vayko想了个愚人的好办法--送礼物. 嘿嘿.不要想的太好,这礼物可没那么简单.Vayko为了愚人.准备了一堆盒子,当中有一个盒子里面装了礼物.

1045: 愚人节的礼物

1045: 愚人节的礼物 时间限制: 1 Sec  内存限制: 128 MB提交: 169  解决: 137[提交][状态][讨论版] 题目描述 四月一日快到了,Vayko 想了个愚人的好办法——送礼物.嘿嘿,不要想的太好,这礼物可没那么简单,Vayko 为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物.盒子里面可以再放零个或者多个盒子.假设放礼物的盒子里不再放其他盒子.用()表示一个盒子,B表示礼物,Vayko 想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物. 输入 本题目包含

hdoj,愚人节的礼物

 和括号配对问题差不多,不懂的可以先看看括号配对,这几天在学STL,有兴趣的大家一起学,你们可以看看我的气他文章,都是浅显易懂的,适合我们这些初学者 愚人节的礼物 Time Limit : 5000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 20   Accepted Submission(s) : 14 Font: Times New Roman | Verdan

[HDU1870]愚人节的礼物

愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16116    Accepted Submission(s): 9475 Problem Description 四月一日快到了,Vayko想了个愚人的好办法——送礼物.嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物.盒

002 愚人节的“礼物”

1. 缘起 愚人节就要到了,这两天看到一条热度比较高的新闻:微软禁过愚人节.我想,要不今年在朋友圈发张恶搞的图片?何乐而不为呢? 2. 想法 (1) 一开始,我准备发一张空白的图片 分辨率就取 1080p 吧 打开"画图" 按 ctrl+w (2) 接下来,我觉得写点东西比较好 字体就用 20 号加粗的"微软雅黑"吧 颜色选择"灰色-25%" 写在左下角 (3) 给图片加点料 1) 想起一种把压缩包藏到图片里的方法 关键命令:copy /b a.