一道考验递归的题目,在面对这种字符串处理的题时,还是应该用递归这种比较好看懂而且比较简单写的算法。
```c++
// luogu-judger-enable-o2
using namespace std;
// luogu-judger-enable-o2
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));
}
原文:https://www.cnblogs.com/liuwenyao/p/10547052.html