一道考验递归的题目,在面对这种字符串处理的题时,还是应该用递归这种比较好看懂而且比较简单写的算法。
(code)
// luogu-judger-enable-o2
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <iostream>
#define int long long
using namespace std;
int digui(int ans)
{
char c;
while (cin >> c)
{
if (c == ')') return ans;
if (c == 'a') ans++;
if (c == '(') ans += digui(0);
if (c == '|') return ans = max(ans, digui(0));//因为最外圈可能没有括号,所以必须return
}
return ans;
}
signed main()
{
printf("%lld", digui(0));
}