#include<stdio.h>
#include<string.h>
int main()
{
char s[10010],a[10010];
int test,i,n,m,t;
scanf("%d",&test);
while(test--)
{
scanf("%s",s);
n=strlen(s);
m=1;
if(n%2||s[0]==']'||s[0]==')') m=0;
else{
for(t=i=0;i<n;i++)
if(s[i]=='('||s[i]=='[') a[t++]=s[i];//是“(”或“[”就进栈
else if(s[i]==')')
{
if(a[t-1]=='(') t--;//是成对就出栈
else {m=0;break;}
}
else if(s[i]==']')
{
if(a[t-1]=='[') t--;
else {m=0;break;}
}
}
if(m==1) printf("Yes\n");
else printf("No\n");
}
return 0;
}
南阳 括号配对问题
最新推荐文章于 2015-03-28 09:53:40 发布