建一個棧就好啦~
#include<iostream>
#include<cstdio>
using namespace std;
char a[10010];
int main()
{
int n,i;
char ch;
bool f;
scanf("%d",&n);getchar();
while(n--)
{
i=0;
f=true;ch=' ';
while(ch!='\n'&&f)
{
ch=getchar();//printf(" %c",ch);
if(ch!='\n')
{
if(ch=='['||ch=='(')
{
i++;a[i]=ch;
}
if(ch==']')
if(i==0) f=false;
else if(a[i]=='[') i--;
else f=false;
if(ch==')')
if(i==0) f=false;
else if(a[i]=='(') i--;
else f=false;
}
}
if(f&&i==0) printf("Yes\n");
else printf("No\n");
while(ch!='\n') ch=getchar();
}
return 0;
}