stl-かっこマッチング

1546 ワード

ProblemI:STL-かっこマッチング


Time Limit: 1 Sec  
Memory Limit: 128 MB
Submit: 2512  
Solved: 1464
[ Submit][ Status][ Web Board]

Description


かっこの山を与えて、それが一致するかどうかを見て、例えば()、()のようなかっこが一致します.
)(、)()))のように括弧が一致しない

Input


各行はテストサンプルのセットを表し、各テストサンプルは'('と')'のみを含み、サンプルの長さは100文字を超えない.

Output


すべてのかっこが一致している場合はYES、そうでない場合はNOを出力します

Sample Input


())(

Sample Output


YESNO

HINT


STLを使ったstackが実現しやすい.

Append Code


ヒントによると,本題は定数容器stackで実現でき,stringにおけるメンバ関数の再補助利用が可能であり,問題は比較的簡単である.コードは次のとおりです.
#include 
#include 
#include 
#include 
using namespace std;
int main()
{
    string st;
 
    while(cin>>st)
    {
        stack s;
        for(int i = 0; i < st.size(); i++)
        {
           if(s.empty())
             s.push(st);
           else
             {
            if(st[i] == '(')
                s.push(st);
             else
                s.pop();
             }
 
        }
        if(s.empty())
            cout<