问题标题: 酷町堂:1191

0
0
已解决
张帆
张帆
中级天翼
中级天翼
#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;
    int flag=0;
    cin>>s;
    for(int i=0;i<s.length();i++){
        if(s[i]=='('){
            if(flag==2||flag==1){
                cout<<"NO";
                return 0;
            }
            else{
                flag=1;
            }
        }
        else if(s[i]==')'){
            if(!(flag==1)){
                cout<<"No";
                return 0;
            }
            else{
                flag=0;
            }
        }
        else if(s[i]=='['){
            if(flag==2||flag==1){
                cout<<"NO";
                return 0;
            }
            else{
                flag=2;
            }
        }
        else{
            if(!(flag==2)){
                cout<<"No";
                return 0;
            }
            else{
                flag=0;
            }
        }
    }
    cout<<"YES";
    return 0;
}

66分代码

1191   括号配对
经验值:800
题目描述 Description
第一行输入一个字符串S(S的长度小于10000,且S不是空串)。数据保证S中只含有"[","]","(",")"四种字符,请判断输入的括号是否是配对。



输入描述 Input Description
字符串S(S的长度小于10000)输入的括号字符串
输出描述 Output Description
输出字符串YES或者NO(YES表示匹配 NO表示不匹配)
样例输入 Sample Input
【输入样例一】
[]()

【输入样例二】
([)]
样例输出 Sample Output
【输出样例一】
YES

【输出样例二】
NO

 


0
0
我要回答