#include <iostream> #include <stack> using namespace std; int main() { string str; stack<char> stk; cin >> str; for (auto& ch : str) { if (ch == '[' || ch == '(' ) { // 把左括号压入栈中,让右括号与其匹配 stk.push(ch); } else if (ch == ']' || ch == ')') { if (stk.empty()) { cout << "false"; return 0; } else if (ch == ']') { if (stk.top() == '[') { stk.pop(); } else { cout << "false"; return 0; } } else { if (stk.top() == '(') { stk.pop(); } else { cout << "false"; return 0; } } } } if (stk.empty()) { cout << "true"; } else { cout << "false"; } return 0; } // 64 位输出请用 printf("%lld")