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<