题解
2025-04-28 16:44:16
发布于:浙江
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
char a[10010][110];
for(int i = 0; i < n; i++){
cin >> a[i];
}
for(int i = 0; i < n; i++){
stack <char> s;
int flag = 0;
for(int j = 0; j < strlen(a[i]); j++){
if(a[i][j] == '('){
s.push(a[i][j]);
} else if(a[i][j] == '['){
s.push(a[i][j]);
} else if(a[i][j] == ')'){
if(!s.empty()){
if(s.top() == '('){
s.pop();
} else {
cout << "No" << endl;
flag = 1;
break;
}
} else {
cout << "No" << endl;
flag = 1;
break;
}
} else if(a[i][j] == ']'){
if(!s.empty()){
if(s.top() == '['){
s.pop();
} else {
cout << "No" << endl;
flag = 1;
break;
}
} else {
cout << "No" << endl;
flag = 1;
break;
}
}
}
if(flag == 0){
if(s.empty()){
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
}
}
return 0;
}
这里空空如也
有帮助,赞一个