RE?
查看原帖
RE?
373226
justinjia楼主2021/2/25 14:48
#include<stdio.h>
#include<iostream>
#include<string>
#include<stack>
using namespace std;
char match(char a){
    switch(a){
        case ']':
            return '[';
            break;
        case ')':
            return '(';
            break;
        default:
            return a;
    }
}
int main(void){
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        string a;
        cin>>a;
        stack<char>s;
        bool flag=1;
        while(!s.empty())
            s.pop();
        for(int j=0;j<a.size();j++){
            if(j&&match(a[j])==s.top()){
                s.pop();
            }else if(match(a[j])==a[j]){
                s.push(a[j]);
            }else{
                printf("No\n");
                flag=0;
                break;
	        }
        }
        if(flag)
            printf("Yes\n");
    }
    return 0;
}
2021/2/25 14:48
加载中...