正则问题
dfs
刚开始用的是栈,没有想到dfs…
#include<iostream>
#include<stack>
using namespace std;
string s;
int pos;
int dfs()
{//ans表示到当前位置最多的x数目//num表示暂存的x数目int num=0,ans=0;while(pos<s.size()){if(s[pos]=='('){pos++;//进入下一个dfsnum+=dfs();}else if(s[pos]==')'){pos++;//退出dfsbreak;}else if(s[pos]=='|'){//更换ansans=max(ans,num);num=0;pos++;}else {pos++;num++;}}ans=max(ans,num);return ans;
}
int main()
{cin>>s;cout<<dfs()<<endl;return 0;
}