80分求调
查看原帖
80分求调
1431995
xiayuanxia楼主2025/1/27 19:50
#include <bits/stdc++.h>
using namespace std;

stack<char> st;
int ma = 0, ans = 0;

int main() {
    char ch;
    while (cin >> ch) {
        if (ch == '(' || ch == '[' || ch == '{') {
            st.push(ch);
        } else {
            if (!st.empty()) {
                char t = st.top();
                if ((t == '(' && ch == ')') || (t == '[' && ch == ']') || (t == '{' && ch == '}')) {
                    st.pop();
                    ans += 2;
                } else {
                    ma = max(ma, ans);
                    ans = 0;
                    while (!st.empty()) st.pop();
                }
            } else {
                ma = max(ma, ans);
                ans = 0;
            }
        }
    }
    ma = max(ma, ans); 
    cout << ma << endl;
    return 0;
}

2025/1/27 19:50
加载中...