博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
括号匹配 强大的DFS
阅读量:4557 次
发布时间:2019-06-08

本文共 605 字,大约阅读时间需要 2 分钟。

轩载 神牛黑水浮云空间

#include
#include
char s[20];int sum,l;void work(int k,int cnt) /*cnt用来记录到当前k位置为止尚未被匹配的'(''的个数,如果出现负数直接 返回,如果到串尾并且cnt为0那么就是一种合法的状态,sum加1;否则继续DFS。*/{ if(k==l||cnt<0) {if(cnt==0) sum++;} else if(s[k]=='?') { work(k+1,cnt-1); work(k+1,cnt+1); } else { if(s[k]=='(') cnt+=2; work(k+1,cnt-1); }}int main(){ while(gets(s)){ l=strlen(s); sum=0; work(0,0); printf("%d\n",sum); }}

转载于:https://www.cnblogs.com/tangcong/archive/2011/05/11/2042973.html

你可能感兴趣的文章
999线监控
查看>>
Redis在python中的使用
查看>>
理解class.forName()
查看>>
九大排序算法再总结
查看>>
Uva10290 - {Sum+=i++} to Reach N
查看>>
每日一小练——数值自乘递归解
查看>>
二叉搜索树 (BST) 的创建以及遍历
查看>>
MyBatis/Ibatis中#和$的区别
查看>>
【JAVASCRIPT】React学习-组件生命周期
查看>>
win 64 文件操作
查看>>
LeetCode : First Bad Version
查看>>
pythone函数基础(14)发送邮件
查看>>
Java的一些好看的
查看>>
Linux 修改文件夹和其中所有文件的权限
查看>>
详解volatile 关键字与内存可见性
查看>>
go 聊天室简单版总结
查看>>
HDU 4258 斜率优化dp
查看>>
Literature review
查看>>
Java 中可变参数
查看>>
PyTorch在64位Windows下的Conda包(转载)
查看>>