#include <iostream>
#include <vector>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
//freopen("a.txt","r",stdin);
int i,n,flag;
cin>>n;
getchar();
while(n--)
{
char str[510],str1[510];
memset(str,0,sizeof(str));
memset(str1,0,sizeof(str1));
gets(str1);
flag=0;
for(i=0; i<strlen(str1); i++)
if(str1[i]=='('||str1[i]==')'||str1[i]=='['||str1[i]==']')str[flag++]=str1[i];
if(strlen(str)%2==1)cout<<"No"<<endl;
else
{
vector<char> v;
v.clear();
flag=0;
for(i=0; i<strlen(str); i++)
if(str[i]=='('||str[i]=='[')v.push_back(str[i]);
else if(str[i]==')'||str[i]==']')
{
if(v.size()==0||(str[i]==')'&&v.back()!='(')||(str[i]==']'&&v.back()!='['))
{
cout<<"No"<<endl;
flag=1;
break;
}
else if((str[i]==')'&&v.back()=='(')||(str[i]==']'&&v.back()=='['))v.pop_back();
}
if(v.size()==0&&flag==0)cout<<"Yes"<<endl;
else if(flag==0&&v.size()!=0)cout<<"No"<<endl;
}
}
return 0;
}
673 - Parentheses Balance
最新推荐文章于 2018-04-22 19:31:25 发布