P8650 [蓝桥杯 2017 省 A] 正则问题(dfs )

多重括号,利用回溯来对上一层括号中的内容进行反馈

实现:

若为 x 长度加一

若为 ( 进入递归计算 (计算相当于子表达式)

若为 ) 结束当前递归

若为 | 计算递归,并与当前长度进行比较

复制代码
#include<stdio.h>
#include<iostream>
using namespace std;
int dec1();
int main()
{

	printf("%d", dec1());
	return 0;
}
int dec1()
{
	char ch;
	int len = 0;
	while (cin >> ch)
	{
		if (ch == '(')
			len += dec1();
		else if (ch == 'x')
			len++;
		else if (ch == ')')
			return len;
		else
			return max(len, dec1());
	}
	return len;
}
相关推荐
!停4 分钟前
数据结构空间复杂度
java·c语言·算法
一路往蓝-Anbo4 分钟前
第 4 篇:策略模式 (Strategy) —— 算法的热插拔艺术
网络·驱动开发·stm32·嵌入式硬件·算法·系统架构·策略模式
不染尘.7 分钟前
二分算法(优化)
开发语言·c++·算法
不吃橘子的橘猫8 分钟前
Verilog HDL基础(概念+模块)
开发语言·学习·算法·fpga开发·verilog
苦藤新鸡11 分钟前
49.二叉树的最大路径和
数据结构·算法·深度优先
源代码•宸13 分钟前
Leetcode—144. 二叉树的前序遍历【简单】
经验分享·算法·leetcode·面试·职场和发展·golang·dfs
m0_7369191019 分钟前
C++中的观察者模式
开发语言·c++·算法
Anastasiozzzz19 分钟前
LeetCodeHot100 347. 前 K 个高频元素
java·算法·面试·职场和发展
代码无bug抓狂人22 分钟前
C语言之宝石组合(蓝桥杯省B)
c语言·开发语言·蓝桥杯
fantasy_arch22 分钟前
SVT-AV1编码 递归子块划分
算法·av1