lanqiao OJ 106 正则问题

简介: lanqiao OJ 106 正则问题

1.正则问题 - 蓝桥云课 (lanqiao.cn)

1.一个左括号必然与一个有括号匹配

2.一定是先算最里边的括号

#include<iostream>
#include<cstring>
#include<algorithm>
 
using namespace std ;
string s ;
int pos ;//从头到尾遍历的指针
int dfs(){
  int ans = 0 , tmp = 0 ;
  while(pos < s.size()){//只要不遍历到底就一直循环
    if(s[pos] == '('){//遇到左括号就进去dfs
      pos ++ ; tmp += dfs() ;
    }
    else if(s[pos] == ')') {//遇到右括号就结束在这一层的循环
      pos ++ ; break ;
    }
    else if(s[pos] == '|'){//遇到或就取两边的最大值
      pos ++ ; ans = max(ans,tmp) ;
      tmp = 0 ;
    }
    else if(s[pos] == 'x') {//遇到x记录加一
      pos ++ ; tmp ++ ;
    }
    ans = max(ans,tmp) ;//处理最后剩下的一波x
  }
  return ans ; 
}
 
int main(){
  cin >> s ;
  cout << dfs() << endl ;
  return 0 ;
} 
目录
相关文章
|
7月前
|
机器学习/深度学习 C++
前缀和——OJ题(二)
前缀和——OJ题(二)
70 0
|
2月前
lanqiao OJ 1030 蓝肽子序列
lanqiao OJ 1030 蓝肽子序列
39 2
|
2月前
lanqiao OJ 1388 寒假作业
lanqiao OJ 1388 寒假作业
37 0
|
2月前
lanqiao OJ 389 摆花
lanqiao OJ 389 摆花
21 2
|
2月前
lanqiao OJ 649 算式900
lanqiao OJ 649 算式900
19 1
|
2月前
lanqiao OJ 239 最优包含
lanqiao OJ 239 最优包含
18 2
|
2月前
lanqiao oj Frog
lanqiao oj Frog
24 0
|
2月前
lanqiao oj 1085 小猪存钱罐
lanqiao oj 1085 小猪存钱罐
30 0
|
2月前
lanqiao oj 1050 补给
lanqiao oj 1050 补给
39 0
|
2月前
lanqiao OJ 1217 求立方根
lanqiao OJ 1217 求立方根
14 0