愚人节的礼物---浅析

愚人节的礼物 :
这道题将()当做箱子,因而我只需计算在找到B之前至少需要打开多少()即可,在出现(()(B))情况,我们其实无需打开另外一个箱子,只需要直接打开B。
因此这道题的主要思想就是数清楚“(”的个数,用单个的“(”代表一个箱子。
方法一:可以考虑使用栈来进行操作。在遇见“B”之前,遇见“(”,就进行入栈,遇见“)”则执行出栈。
方法二:通过数组,与ans来对箱子的个数进行统计,在遇见“B”前,一旦遇见“(”则ans加一,遇见“)”则ans减一,以此来对箱子个数进行统计。

#include<stdio.h>
int main()
{
    
    
    char gift[1010];
    int i,ans;
    while(scanf("%s",&gift)!=EOF)
    {
    
       i=0;
        ans=0;
        while(gift[i]!='B')
        {
    
    
            if(gift[i]=='(')
                ans++;
            else if(gift[i]==')')
                ans--;
            i++;
        }
        printf("%d\n",ans);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/malloch/article/details/105905094