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;
}
相关推荐
算法与编程之美12 分钟前
探索不同的损失函数对分类精度的影响.
人工智能·算法·机器学习·分类·数据挖掘
H_BB13 分钟前
leetcode160:相交链表
数据结构·算法·链表
前端小L43 分钟前
贪心算法专题(十五):借位与填充的智慧——「单调递增的数字」
javascript·算法·贪心算法
前端小L1 小时前
贪心算法专题(十四):万流归宗——「合并区间」
javascript·算法·贪心算法
hans汉斯1 小时前
基于数据重构与阈值自适应的信用卡欺诈不平衡分类模型研究
大数据·算法·机器学习·重构·分类·数据挖掘·机器人
ZPC82101 小时前
FANUC 机器人 PR 寄存器
人工智能·python·算法·机器人
yong99901 小时前
超宽带系统链路 MATLAB 仿真
开发语言·算法·matlab
历程里程碑2 小时前
LeetCode 560题:和为K子数组最优解
算法·哈希算法·散列表
qq_401700412 小时前
C/C++中的signed char和unsigned char详解
c语言·c++·算法
leoufung2 小时前
LeetCode 67. Add Binary:从面试思路到代码细节
算法·leetcode·面试