1. 程式人生 > >P1739 表示式括號匹配

P1739 表示式括號匹配

/*
題型:棧的模擬 
 注意:另外定義一個flag,若此時棧以空則不符合題意 
*/ 

#include<cstdio>
#include<iostream>
#include<stack>//庫函式 
using namespace std;
char a;
bool flag;
int main()
{
    stack <char> sum;
    while(1)
    {
        cin>>a;
        if(a=='@')//若為@則彈出 
            break;
        if(a=='(')//進棧 
            sum.push(a);
        if(a==')')//出棧 
        {
            if(!sum.empty())//若此時棧以空則不符合題意否則出棧 
                sum.pop();
            else
                flag=1;
        }
    }
    if(flag||!sum.empty())//若最終棧沒空或在判斷期間發現不符合題意則NO 
        printf("NO\n");
    else
        printf("YES\n");
    return 0;
}