Problem B
2015-07-27 17:53
155 查看
四月一日快到了,Vayko想了个愚人的好办法——送礼物。嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。
用()表示一个盒子,B表示礼物,Vayko想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。
[align=left]Input[/align]
本题目包含多组测试,请处理到文件结束。每组测试包含一个长度不大于1000,只包含'(',')'和'B'三种字符的字符串,代表Vayko设计的礼物透视图。你可以假设,每个透视图画的都是合法的。
[align=left]Output[/align]
对于每组测试,请在一行里面输出愚人指数。
[align=left]Sample Input[/align]
((((B)()))())
(B)
[align=left]Sample Output[/align]
4
1
这道题猛的一看还没有思路,首先要给先找出B的位置,然后只要处理B前面的括号就行了,前面每有一个配对的括号就给B的位置减二,最后输出就行了。以下是我写的代码
#include<stdio.h>
#include<string.h>
char a[1000],c[1000];
int i,j=1,k,b;
int main()
{
while(gets(a))
{
for(i=0;i<strlen(a);i++)
if(a[i]=='B')
k=i;
b=k;
c[0]=a[0];
for(i=1;i<b;i++)
{
c[j]=a[i];
if(j==0)
j++;
else
{
if(c[j-1]=='('&&c[j]==')')
k=k-2,j--;
else
j++;
}
}
printf("%d\n",k);
j=1;
}
return 0;
}
用()表示一个盒子,B表示礼物,Vayko想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。
[align=left]Input[/align]
本题目包含多组测试,请处理到文件结束。每组测试包含一个长度不大于1000,只包含'(',')'和'B'三种字符的字符串,代表Vayko设计的礼物透视图。你可以假设,每个透视图画的都是合法的。
[align=left]Output[/align]
对于每组测试,请在一行里面输出愚人指数。
[align=left]Sample Input[/align]
((((B)()))())
(B)
[align=left]Sample Output[/align]
4
1
这道题猛的一看还没有思路,首先要给先找出B的位置,然后只要处理B前面的括号就行了,前面每有一个配对的括号就给B的位置减二,最后输出就行了。以下是我写的代码
#include<stdio.h>
#include<string.h>
char a[1000],c[1000];
int i,j=1,k,b;
int main()
{
while(gets(a))
{
for(i=0;i<strlen(a);i++)
if(a[i]=='B')
k=i;
b=k;
c[0]=a[0];
for(i=1;i<b;i++)
{
c[j]=a[i];
if(j==0)
j++;
else
{
if(c[j-1]=='('&&c[j]==')')
k=k-2,j--;
else
j++;
}
}
printf("%d\n",k);
j=1;
}
return 0;
}
相关文章推荐
- 面向对象的三大基本特征
- 移动广告名词
- errno值(linux )
- ISE中下载Xilinx的bit文件失败时的处理方案
- iOS-UI-01 UIWindow UIView
- poj 1459 多源汇网络流 ISAP
- java单点登录系统CAS的简单使用
- 【剑指offer】Q32:从1至n整1出现的次数(python)
- .net后台调用config中的标签
- AsyncTask概念的理解
- MapReduce:详解Shuffle过程
- C/C++__字符串的结束符“\0”到底是什么
- Listview 定位到哪一行
- JVM 进阶 四
- 【进阶android】Volley源码分析——Volley的线程
- hdu5033 Building 单调队列
- Hibernate入门
- UIView及其子类
- Maven核心概念之仓库,生命周期与插件
- HDOJ 1272 小希的迷宫(并查集)