hdu - 2266 How Many Equations Can You Find (简单dfs)
2015-06-01 20:22
477 查看
http://acm.hdu.edu.cn/showproblem.php?pid=2266
给一个字符串和一个数n,在字符串中间可以插入+或者 -,问有多少种等于n的情况.
要注意任意两个数之间都可以插入也可以不插入,注意枚举完所有情况.
给一个字符串和一个数n,在字符串中间可以插入+或者 -,问有多少种等于n的情况.
要注意任意两个数之间都可以插入也可以不插入,注意枚举完所有情况.
#include <cstdio> #include <cstring> char s[15]; int n,l,cnt; void dfs(int k,int sum) { if(k==l) { if(sum==n) cnt++; return; } long long ans=0; for(int i=k;i<l;i++) { ans=ans*10+s[i]-'0'; dfs(i+1,sum+ans); if(k!=0) dfs(i+1,sum-ans); } } int main() { //freopen("a.txt","r",stdin); while(~scanf("%s",s)) { scanf("%d",&n); //printf("%s %d\n",s,n); l=strlen(s); cnt=0; dfs(0,0); printf("%d\n",cnt); } return 0; }
相关文章推荐
- 51--步进电机驱动代码
- TortoiseSVN中Branching和Merging实践
- 集合框架(六)探究如何使用以及何时使用ArrayList或LinkedList来存储元素
- 个人开发工具汇总
- 集合框架(五)使用Comparable接口和Comparator接口来比较元素
- Ansible-Tower快速入门-6.查看tower的仪表板【翻译】
- 你在的那个城市是艳阳高照,
- 跟着实例学习ZooKeeper的用法: 临时节点
- RaisedCosineWindower API及加窗
- Perl计数器
- Java动态绑定机制的内幕解惑
- LaTeX模板
- 仿微信通讯录列表
- Intent跳转并清除历史
- 跟着实例学习ZooKeeper的用法: Barrier
- linux dns 服务器搭建及配置
- CSAPP 深入理解计算机系统 Buflab实验,缓冲区溢出攻击实验(4)
- Fibonacci Numbers(斐波那契数列 前四位 后四位)
- 【Android】仿微信通讯录中的右侧字母表控件
- 黑马程序员——java基础----集合框架知识点总结(一)