#include <bits/stdc++.h> using namespace std; string s; stack<char> st; int main(){ cin>>s;//输入s for(int i=0;i<s.size();i++){ if(s[i]=='('||s[i]=='{'||s[i]=='[') st.push(s[i]);//如果为前括号,进栈 else{ if(s[i]==')'){ if(!st.empty()&&st.top()=='(') st.pop();//如果能匹配,匹配到的括号出栈 else{//否则输出no,退出 cout<<"no"; return 0; } } if(s[i]==']'){ if(!st.empty()&&st.top()=='[') st.pop();//如果能匹配,匹配到的括号出栈 else{//否则输出no,退出 cout<<"no"; return 0; } } if(s[i]=='}'){ if(!st.empty()&&st.top()=='{') st.pop();//如果能匹配,匹配到的括号出栈 else{//否则输出no,退出 cout<<"no"; return 0; } } } } if(st.size()==0) cout<<"yes"; else cout<<"no"; return 0; } /************************************************************** Problem: 1486 User: fuhongyi Language: C++ Result: Accepted Time:31 ms Memory:2080 kb ****************************************************************/