历届试题 正则问题

    xiaoxiao2022-07-05  155

    #include<iostream> #include<cstdio> #include<cstring> using namespace std; string s; int pos = 0; int dfs() { int tmp = 0, cnt = 0; while(s[pos]){ if(s[pos] == '('){ pos++; tmp += dfs(); } else if(s[pos] == ')'){ pos++; return max(tmp, cnt); } else if(s[pos] == '|'){ pos++; cnt = max(tmp, cnt); tmp = 0; } else { pos++; tmp++; } } return max(tmp, cnt); } int main() { cin >> s; cout << dfs() << endl; return 0; }

     

    最新回复(0)