[蓝桥杯2017初赛]正则问题(BFS)

    科技2024-01-17  93

    这题目的描述有点不清楚,这里放一张图就懂题意了:

    #include<stdio.h> #include<math.h> #include<algorithm> #include<string.h> #include<iostream> #include<set> #include<queue> #define ll long long using namespace std; char q[105]; int i=0; int dfs() { int cnt=0; int maxx=0; int len=strlen(q); while(i<len) { if(q[i]=='(') { i++; cnt+=dfs(); } else if(q[i]=='x') { cnt++; i++; } else if(q[i]=='|') { maxx=max(maxx,cnt); cnt=0; i++; } else if(q[i]==')') { i++; break; } } return max(cnt,maxx); } int main() { scanf("%s",q); int ans=dfs(); printf("%d\n",ans); }
    Processed: 0.016, SQL: 8