NYOJ-2-括弧マッチング問題(STL-stack)


テーマの説明:
現在の括弧の列を説明します.このかっこがペアになっているかどうか確認してください.入力1行目の入力数N(0出力1組あたりの入力データの出力が1ラインです.この文字列に含まれる括弧がペアである場合は、Yesを出力します.ペアでない場合はNoサンプル入力を出力します.
3
[(])
(])
([[]()])
サンプル出力
No
No
Yes
テーマの考え:
文字列の各文字を巡回して、'''または'('であれば、スタックに入ります.'''または')'であり、スタックのトップは対応する''''または'('であれば、スタックに入れずにスタックの一番上の要素をイジェクトします.そうでなければ、スタックが空であれば、マッチングに成功します.そうでなければ、Noを出力します.
タイトルコード:
#include 
#include 
#include  
using namespace std;
int n;
string s;
int main(){
	cin>>n;
	while(n--){
		stack st;
		cin>>s;
		for(int i = 0; i < s.length(); i++){
			if(!st.empty() && ((s[i] == ']' && st.top() == '[') || (s[i] == ')' && st.top() == '('))){
				st.pop();
			}else{
				st.push(s[i]);
			}
		}
		if(st.empty())
			cout<