#include<stdio.h> #include<string.h> char a[100000]; char b[100000]; int main() { int n;//第一行为一个整数T(T<=100),表示T个测试数据。 scanf("%d",&n); while(n--) { scanf("%s",a); int len=strlen(a),t=0;; for(int i=0;i<len;i++) { if(a[i]=='(') { b[t++]=a[i]; } else { t--; if(t<0)//右括号数量大于左括号数量 { break; } } } if(n!=0) { if(t==0)//每个'('均能在其右边找到与之唯一匹配的')'即合法。 { printf("Yes\n"); } else//两种情况:第一种:左括号数量小于右括号数量;第二种:左括号数量大于右括号数量 { printf("No\n"); } } else { if(t==0)//每个'('均能在其右边找到与之唯一匹配的')'即合法。 { printf("Yes\n"); } else//两种情况:第一种:左括号数量小于右括号数量;第二种:左括号数量大于右括号数量 { printf("No\n"); } } } return 0; } |
Double click to view unformatted code.