能过,不保证最佳
2023-10-20 21:09:40
发布于:上海
17阅读
0回复
0点赞
#include <iostream>
using namespace std;
int n,top;
char a[101],st[101];
bool check(char a[],int top,char st[]){
for(int i=0;a[i]!='\0';i++){
switch(a[i]){
case '(': st[++top]='(';break;
case '[': st[++top]='[';break;
case ')':{
if(top>0&&st[top]=='(') top--;
else{
return 0;
}
break;
}
case ']':{
if(top>0&&st[top]=='[') top--;
else{
return 0;
}
break;
}
}
}
if(top==0)return 1;
return 0;
}
int main(){
cin >> n;
for(int k=0;k<n;k++){
cin >> a;
if(check(a,top,st)){
cout << "Yes" << endl;
}else{
cout << "No" << endl;
}
}
}
这里空空如也
有帮助,赞一个