描述

现在,有一行括号序列,请你检查这行括号是否配对。

输入

第一行输入一个数N(0

输出

每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No

样例输入


[(]) 
(]) 
([])

样例输出

No 
No 
Yes

C++

 
#include<stdio.h> #include<string.h> int main() { char a[10000],l[10000]; int b,c,d,e,f,g,i,m[5],n,k,ab; scanf("%d",&ab); getchar(); while(ab--) { scanf("%s",a); b=strlen(a); d=-1;e=0;f=0;g=0;i=0; for(c=0;c<b;c++) { if(a[c]=='['||a[c]=='(') { d++;l[d]=a[c]; } else if(l[d]==a[c]-1||l[d]==a[c]-2) { d--; } else { d++;a[d]=a[c]; } } if(d==-1) printf("Yes\n"); else printf("No\n"); } return 0; }