#include<stdio.h>
#include<string.h>
int main(){
char a[10000],b[10000];
int n;
scanf("%d",&n);
while(n--){
int len,i=0,j=0,p=1;
scanf("%s",&a);
len=strlen(a);
if(len%2==1){ printf("No\n");}
else{
if(a[0]==')'||a[0]==']') {printf("No\n");continue;}
else b[j++]=a[0];
for(i=1;i<len;i++){
if(a[i]=='['||a[i]=='('){b[j++]=a[i];}
else if(a[i]==']'&&b[j-1]!='['){p=0;printf("No\n");break;}
else if(a[i]==')'&&b[j-1]!='('){p=0;printf("No\n");break;}
else if(a[i]==']'&&b[j-1]=='['||a[i]==')'&&b[j-1]=='(') j--;
}
if(p==1) printf("Yes\n");
}
}
return 0;
}
nyist_oj 括号配对问题
最新推荐文章于 2019-09-27 09:37:51 发布