HDU 2266 How Many Equations Can You Find (技巧性dfs)
来源:互联网 发布:淘宝店铺类型 编辑:程序博客网 时间:2024/05/18 22:43
How Many Equations Can You Find
Problem Description
Now give you an string which only contains 0, 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9.You are asked to add the sign ‘+’ or ’-’ between the characters. Just like give you a string “12345”, you can work out a string “123+4-5”. Now give you an integer N, please tell me how many ways can you find to make the result of the string equal to N .You can only choose at most one sign between two adjacent characters.
Input
Each case contains a string s and a number N . You may be sure the length of the string will not exceed 12 and the absolute value of N will not exceed 999999999999.
Output
The output contains one line for each data set : the number of ways you can find to make the equation.
Sample Input
123456789 321 1
Sample Output
181
代码很短,可以自己体会,注意的是第一个数字不能减。。一开始连思路都没。。感觉怎么做都要爆数据。。我还是太弱了,看了博客后恍然大悟。。记下来记下来
代码:
#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<math.h>#include<string>#include<stdio.h>#include<queue>#include<stack>using namespace std;char s[20];long long tot,n;void dfs(int sum,int p){ if(p==strlen(s)) { if(sum==n) tot++; return; } int i,k=0; for(i=p;i<strlen(s);i++) { k=k*10+s[i]-'0'; dfs(sum+k,i+1); if(p!=0) dfs(sum-k,i+1); }}int main(){ while(scanf("%s%lld",s,&n)!=EOF) { tot=0; dfs(0,0); printf("%lld\n",tot); } return 0;}
阅读全文
0 0
- HDU 2266 How Many Equations Can You Find (技巧性dfs)
- 【HDU】2266 - How Many Equations Can You Find(dfs)
- HDU 2266 How Many Equations Can You Find (DFS)
- HDU-2266-How Many Equations Can You Find【交叉DFS】
- HDOJ(HDU).2266 How Many Equations Can You Find (DFS)
- How Many Equations Can You Find 2266 (深搜 dfs)
- HDU:2266 How Many Equations Can You Find(深搜+DFS)
- How Many Equations Can You Find(DFS)
- hdoj 2266 How Many Equations Can You Find (dfs)
- DFS hdu2266(How Many Equations Can You Find)
- How Many Equations Can You Find HDU
- hdu 2266 How Many Equations Can You Find
- hdu 2266 How Many Equations Can You Find
- hdu 2266 How Many Equations Can You Find
- HDU 2266 How Many Equations Can You Find 深搜
- hdu 2266 How Many Equations Can You Find
- HDU 2266 How Many Equations Can You Find
- HDOJ 题目2266 How Many Equations Can You Find(DFS水)
- HTML5入门
- 11-输入输出重定向及管道
- <函数式swift>读书笔记之Trie结构
- listView在添加了headerView后的点击事件解析
- Java总结篇系列:Java泛型
- HDU 2266 How Many Equations Can You Find (技巧性dfs)
- 最优化问题-线性优化(LP)
- 搭建环境
- Python3网络爬虫(一):利用urllib进行简单的网页抓取
- 一站式学习Wireshark(四):网络性能排查之TCP重传与重复ACK
- POJ 2253 Frogger(最长边最短路)
- 2017暑假七林集训day12
- PXE方式安装系统
- 【Bzoj3732】Network