1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int main() 5 { 6 int T; 7 cin >> T; 8 getchar(); 9 while(T --) 10 { 11 string input; 12 getline(cin,input); 13 stack<char> s; 14 while(!s.empty()) s.pop(); 15 int flag = 0; 16 for(auto c:input) 17 { 18 if(c=='('||c=='[') 19 s.push(c); 20 else if(c==')') 21 { 22 if(!s.empty()&&s.top()=='(') 23 s.pop(); 24 else 25 { 26 flag = 1; 27 break; 28 } 29 } 30 else if(c==']') 31 { 32 if(!s.empty()&&s.top()=='[') 33 s.pop(); 34 else 35 { 36 flag = 1; 37 break; 38 } 39 } 40 } 41 if(!flag&&s.empty()) 42 cout << "Yes" << endl; 43 else 44 cout << "No" << endl; 45 } 46 return 0; 47 }
注意第一个条件,空串也是Yes