[蓝桥杯][2017年第八届真题]正则问题(DFS)
题目描述
考虑一种简单的正则表达式:
只由 x ( ) | 组成的正则表达式。
小明想求出这个正则表达式能接受的最长字符串的长度。
例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是6。
输入
一个由x()|组成的正则表达式。输入长度不超过100,保证合法。
输出
这个正则表达式能接受的最长字符串的长度。
样例输入
((xx|xxx)x|(x|xx))xx
样例输出
6
思路:就是一个搜索问题,但是正则表达式有些地方容易混淆。
遇见左括号(,就递归;遇见x,计数+1;遇见右括号),就返回;遇见|,说明右边的计算完了,更新答案;最终返回最大值就可以了。
代码如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std;const int maxx=1e2+10;
string s;
int n;inline int dfs(string t,int &i)
{int len=t.length();int max1=0,ans=0;for(;i<t.length();){if(t[i]=='x') max1++,i++;else if(t[i]=='('){max1+=dfs(t,i+=1);i++;}else if(t[i]=='|'){i++;ans=max(ans,max1);max1=0;}else return ans=max(max1,ans);}return ans=max(ans,max1);
}
int main()
{cin>>s;n=s.length();int pos=0;printf("%d\n",dfs(s,pos));return 0;
}
努力加油a啊,(o)/~
[蓝桥杯][2017年第八届真题]正则问题(DFS)相关推荐
- [蓝桥杯][2017年第八届真题]包子凑数(解题报告)
问题 1886: [蓝桥杯][2017年第八届真题]包子凑数 时间限制: 1Sec 内存限制: 128MB 提交: 406 解决: 118 题目描述 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家 ...
- 题目 1886: 蓝桥杯2017年第八届真题-包子凑数
时间限制: 1Sec 内存限制: 128MB 提交: 2378 解决: 789 题目描述 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼 ...
- 题目 1878: 蓝桥杯2017年第八届真题-青蛙跳杯子
题目 X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色. X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去. 如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙. ...
- [蓝桥杯][2017年第八届真题]小计算器(模拟)
题目描述 模拟程序型计算器,依次输入指令,可能包含的指令有 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的数 运算指令:'ADD','SUB','MUL','DIV', ...
- [蓝桥杯][2017年第八届真题]小数第n位(数学)
题目描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数. 如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式. 本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始 ...
- 题目 1885: [蓝桥杯][2017年第八届真题]分巧克力+二分
题目: 题目描述 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧克 ...
- [蓝桥杯][2017年第八届真题]合根植物
题目描述 w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列).每个格子里种了一株合根植物. 这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成 ...
- [蓝桥杯][2017年第八届真题]拉马车(String)
题目描述 小的时候,你玩过纸牌游戏吗? 有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友. 其规则简述如下: 假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的随机的纸 ...
- [蓝桥杯][2017年第八届真题]分考场(dfs+剪枝)
题目描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人不能分在同一个考场. 求是少需要分几个考场才能满足条件. 输入 第一行,一个整数n(1<n<100),表示参加考试的人数. ...
最新文章
- Paxos算法之旅(四)zookeeper代码解析--转载
- DB2 V8,V9并存在同一 server 的处理
- 15 篇最新 AI 论文来袭!NLP、CV...人人有份 | 本周值得读
- linux共享xp打印机驱动下载,给debian共享winxp下的打印机
- python+selenuim自动化测试(六)弹窗的处理
- C++空间分配器简述学习笔记
- Linux下Qt使用QAudio相关类进行音频采集,使用Windows下的Matlab软件播放
- 内容查询部件 之 简单美化
- es6 filter方法_[ 翻译 ] ES6中数组去重的三种方法
- coreseek实战(一):windows下coreseek的安装与测试
- leach算法的实现过程_leach算法原理详解
- 每日一题-12.30-三态数据总线
- Linux中 ll 和 ls 区别
- 如何用计算机巧记英语词汇,小学英语单词巧记法
- 恋与制作人 服务器错误,恋与制作人登陆不了怎么办 登录失败无法登录DNS劫持全解析...
- 基于QlExpress实现薪资计算
- 最新Java开发进阶!我的华为面试经历分享,请查收
- 英语cymophanite猫眼石cymophanite单词
- 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?
- 华为android版本9什么意思,华为P9的手机系统是什么
热门文章
- C# 中的委托和事件(详解) ....
- swift5的SnipKit框架使用
- java web 颜色灰色_网站动态变灰解决方案(java web项目网站)
- OpenGL中的Uniform block size 的大小限制
- Android开发之Android Studio第三方库的六种依赖讲解说明
- PHP 底层的运行机制与原理
- python如何自动打印_利用Python每天自动打印练习题
- Mybatis源码分析--Mapper接口的代理生成原理
- 禅道 11.4.1 版本发布,主要优化细节
- Spring 事务提交回滚源码解析