hdu 4403 A very hard Aoshu problem(dfs)
2015-09-25 15:06
423 查看
题意:
给定一串数字,在这些数字中插入一些‘+’或者’=’ 使得两边相等思路:
比较简单的dfs问题首先确定下等于号的位置,然后两边进行dfs。
mymy codecode
[code]#include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; const int N = 20; char num ; int len, lsum, rsum; int ans; int trans(int st, int en) { int res = 0; for(int i = st; i <= en; i++) res = res * 10 + (num[i] - '0'); return res; } void dfsr(int st, int en, int sum) { if(st > en) { if(sum == lsum) ans++; return ; } for(int i = st; i <= en; i++) { int tmp = trans(st, i); dfsr(i+1, en, sum + tmp); } } void dfsl(int st, int en, int sum) { if(st > en) { lsum = sum; dfsr(en+1, len, 0); return ; } for(int i = st; i <= en; i++) { int tmp = trans(st, i); dfsl(i+1, en, sum + tmp); } } int main() { while(~scanf("%s", num+1) && num[1] != 'E') { len = strlen(num+1); ans = 0; for(int i = 1; i < len; i++) { dfsl(1, i, 0); } printf("%d\n", ans); } return 0; }
相关文章推荐
- C++Primer第五版 11.2.2节练习
- Swift - 使用网格(UICollectionView)的自定义布局实现复杂页面
- DBX error:Driver could not be properly initialized .... 解决办法
- php几个常用的概率算法(抽奖、广告首选)
- 【转】Delphi多线程学习(9):多线程数据库查询(ADO)
- poj2996解题报告
- android使用RenderScript模糊图片技术
- xib
- Spring bean 生命周期
- JS设置Cookie,及COOKIE的限制
- 读书_爱上统计学
- GIS坐标转换库Proj.4的使用
- jprofiler注册码共享
- oracle记录被锁定
- Swift - 使用网格(UICollectionView)进行流布局
- Swift - 移除页面视图上的所有元素
- 新疆语 维吾尔语字母表与发音
- Intellij idea 常用快捷键
- iOS弹窗总结
- 使用maven的profile和filter插件管理配置项