// #include <iostream> // #include <stack> // #include <string> // using namespace std; // int main() { // string zifuchuan; // cin >> zifuchuan; // stack<char> zhan; // bool pandun = true; // for (int i = 0; zifuchuan[i] != '\0'; i++) { // if (zifuchuan[i] == '(' || zifuchuan[i] == '[' || zifuchuan[i] == '{') { // zhan.push(zifuchuan[i]); // } // if (zifuchuan[i] == ')') { // if (zhan.empty()) { // pandun = false; // break; // } // if (zhan.top() != '(') { // pandun = false; // break; // } // if (zhan.top() == '('){ // zhan.pop(); // continue; // } // } // if (zifuchuan[i] == ']') { // if (zhan.empty()) { // pandun = false; // break; // } // if (zhan.top() != '[') { // pandun = false; // break; // } // if (zhan.top() == '['){ // zhan.pop(); // continue; // } // } // if (zifuchuan[i] == '}') { // if (zhan.empty()) { // pandun = false; // break; // } // if (zhan.top() != '{') { // pandun = false; // break; // } // if (zhan.top() == '{'){ // zhan.pop(); // continue; // } // } // } // if (pandun && zhan.empty()) { // cout << "true" << endl; // } else { // cout << "false" << endl; // } // return 0; // } #include <iostream> #include <stack> #include <string> using namespace std; int main() { string zifuchuan; cin >> zifuchuan; stack<char> zhan; bool pandun = true; for (int i = 0; i < zifuchuan.length(); i++) { char c = zifuchuan[i]; if (c == '(' || c == '[' || c == '{') { zhan.push(c); } else if (c == ')' || c == ']' || c == '}') { if (zhan.empty()) { pandun = false; break; } char top = zhan.top(); if ((c == ')' && top != '(') || (c == ']' && top != '[') || (c == '}' && top != '{')) { pandun = false; break; } zhan.pop(); } } // 关键修改:必须同时满足两个条件 if (pandun && zhan.empty()) { cout << "true" << endl; } else { cout << "false" << endl; } return 0; } // // 64 位输出请用 printf("%lld")