UVA - 1374 - Power Calculus(迭代加深)
来源:互联网 发布:网页淘宝怎么退出登录 编辑:程序博客网 时间:2024/05/21 09:15
从小到大枚举可能的次数,然后迭代加深搜索验证
#include<cstdio>#include<cstring>#include<cctype>#include<cstdlib>#include<cmath>#include<iostream>#include<sstream>#include<iterator>#include<algorithm>#include<string>#include<vector>#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<list>#include<ctime>#define all(x) x.begin(), x.end()typedef long long ll;typedef unsigned long long llu;const int MAXN = 1000 + 10;const int MAXT = 1000 + 10;const int INF = 0x7f7f7f7f;const double pi = acos(-1.0);const double EPS = 1e-6;using namespace std;int a[MAXN], ans, n;bool dfs(int lur){ int pre = a[lur - 1]; if(lur == ans){ if(pre == n) return true; return false; } if((pre << (ans - lur)) < n) return false; for(int i = 0; i < lur; ++i){ a[lur] = pre + a[i]; if(a[lur] <= 1000 && dfs(lur + 1)) return true; a[lur] = pre - a[i]; if(a[lur] > 0 && dfs(lur + 1)) return true; } return false;}int main(){ while(scanf("%d", &n) == 1 && n){ a[0] = 1; for(ans = 1; !dfs(1); ++ans); printf("%d\n", ans - 1); } return 0;}
0 0
- UVA - 1374 - Power Calculus(迭代加深)
- UVA UVA - 1374 Power Calculus 快速幂计算(迭代加深搜索)
- 1374 - Power Calculus (迭代加深+剪枝)
- poj3134 Power Calculus---迭代加深dfs
- POJ 3134 - Power Calculus 迭代加深搜索(DFSID)
- poj 3134 Power Calculus(迭代加深dfs)
- poj 3134 Power Calculus(迭代加深dfs)
- POJ-3134-Power Calculus(迭代加深DFS)
- LA 3621 / POJ 3134 Power Calculus (迭代加深搜索)
- POJ 3134 Power Calculus 迭代加深搜索
- UVa 1374 Power Calculus
- UVA 1374 Power Calculus
- UVA - 1374 Power Calculus
- uva 1374 Power Calculus
- uva 1374 power calculus
- UVA 1374 Power Calculus
- uva 1374 Power Calculus
- UVA1374(Power Calculus|快速幂计算)=》迭代加深搜
- 用Maven创建第一个web项目(1)
- caffe 中的卷积的计算过程
- 细说IOS中的静态变量static
- java入门之GC的算法与种类(4)
- iOS 初始化方法 alloc init 与 new 的区别
- UVA - 1374 - Power Calculus(迭代加深)
- NumPy 数组矩阵运算
- 程序员应该关注的一些事儿
- 360浏览器无法打开Internet选项
- js学习(内置对象)
- java 开发linux常用命令
- Java - PAT - 1013. 数素数 (20) 注意超时
- BZOJ3426: Poi2013 Tower Defense Game
- 我的SQL语句笔记