您的位置:首页 > 其它

nyoj2

2016-01-25 09:55 337 查看
题意:

略。

思路:

模拟栈的操作。

AC代码:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
#include <vector>
#include <set>
#define INF 0x3f3f3f
#define ll long long
using namespace std;
char a[10001];
char b[10001];
int main(){
int T;
scanf("%d",&T);
while(T--){
cin>>a;
int k=0;
int flag=0;
int len=strlen(a);
for(int i=0;i<len;i++){
if(a[i]=='(' ){
b[k++]='(';
}else if(a[i]=='['){
b[k++]='[';
}
else if(a[i]==')'){
if(b[k-1]=='('){
k--;
}else{
flag=1; break;
}
}
else if(a[i]==']'){
if(b[k-1]=='['){
k--;
}else{
flag=1; break;
}
}
}
if(k==0 && flag==0) printf("Yes\n");
else printf("No\n");

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: