How Many Equations Can You Find HDU
来源:互联网 发布:window的端口共有多少 编辑:程序博客网 时间:2024/06/05 08:07
题目链接:点这里
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
题意:
给你一个字符串s和一个数字n,你能有这个字符串能有多少方式组成这个数字
思路:
简单题,直接暴力深搜就可以出答案了
代码:
#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;char s[20];int a[20][20];int n,m;int ans;void init(){ memset(a,0,sizeof(a)); m=strlen(s); for(int i=0;i<m;++i){ a[i][i]=s[i]-'0'; for(int j=i+1;j<m;++j){ a[i][j]=a[i][j-1]*10+s[j]-'0'; } }}void dfs(int i,int num){ if(i==m){ if(num==n) ++ans; return ; } for(int j=i;j<m;++j){ dfs(j+1,num+a[i][j]); dfs(j+1,num-a[i][j]); }}int main(){ while(scanf("%s %d",s,&n)!=EOF){ init(); ans=0; m=strlen(s); for(int i=0;i<m;++i){ dfs(i+1,a[0][i]); } cout<<ans<<endl; } return 0;}
阅读全文
0 0
- How Many Equations Can You Find HDU
- hdu 2266 How Many Equations Can You Find
- hdu 2266 How Many Equations Can You Find
- hdu-2256 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(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)
- hdu 2266 How Many Equations Can You Find
- HDU 2266 How Many Equations Can You Find
- How Many Equations Can You Find
- How Many Equations Can You Find
- hdu2266 How Many Equations Can You Find
- How Many Equations Can You Find(DFS)
- How Many Equations Can You Find
- How Many Equations Can You Find
- java环境变量详解---找不到或无法加载主类
- JDBC详解
- 排列组合
- 使用批处理生成多个解决方案
- Ubuntu16桌面启动器的移动方式
- How Many Equations Can You Find HDU
- 真正的沉浸式状态栏
- jsp创建网页步骤
- monkey获取包名和其他一些基本使用方法
- 分布式锁的几种实现方式,好文!
- Java中Synchronized的用法
- map实例测试
- Tensorflow深度学习之六:基础函数简介(持续更新中)
- 【动态规划】扔 n 个骰子,向上面的数字之和为 S。给定 Given n,请列出所有可能的 S 值及其相应的概率。