UVALive - 3621 Power Calculus
来源:互联网 发布:济南java培训 编辑:程序博客网 时间:2024/06/06 05:34
题意:给出x和正整数n,问最少需要几次乘除法可以得到x^n
思路:迭代搜索+减枝
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int MAXN = 1010;const int INF = 10000007;int arr[MAXN],num;int dfs(int n,int step){ if (num > step) return 0; if (arr[num] == n) return 1; if (arr[num] << (step-num) < n) return false; for (int i = 0; i <= num; i++){ num++; arr[num] = arr[num-1] + arr[i]; if (arr[num] <= 10000 && dfs(n,step)) return true; arr[num] = arr[num-1] - arr[i]; if (arr[num] > 0 && dfs(n,step)) return 1; num--; } return 0;}int main(){ int n; while (scanf("%d",&n) != EOF && n){ int i; for (i = 0; ; i++){ arr[num = 0] = 1; if (dfs(n,i)) break; } printf("%d\n",i); } return 0;}
0 0
- UVALive - 3621 Power Calculus
- UVALive - 3621 Power Calculus
- LA 3621 Power Calculus .
- LA 3621 Power Calculus
- UVALive 3621 Power Calculus n次幂最少需要几次乘除得到 搜索
- Power Calculus
- POJ 3134 - Power Calculus
- UVA1374 - Power Calculus
- 1374 - Power Calculus
- UVa 1374 Power Calculus
- UVA 1374 Power Calculus
- UVA - 1374 Power Calculus
- uva 1374 Power Calculus
- Power Calculus(POJ 3134)
- uva 1374 power calculus
- Uva-1347 Power Calculus
- poj3134 Power Calculus IDA*
- Power Calculus UVA
- Ubuntu文件编码转码(gbk<-->utf8)和中文编码--Ubuntu小笔记
- java学习书籍
- 使用Unity的50个建议:Part1(译文)
- 使用Unity的50个建议:Part2(译文)
- sqlserver excel 导入数据(图解)
- UVALive - 3621 Power Calculus
- 本地搭建wordpress
- Git 7注意
- 通过ssh传输文件--Ubuntu小笔记
- js验证文本框输入的是空格
- 去掉文件中的^M&&转换Dos文本文件到Unix文本文件--ubuntu小笔记
- 备份当前系统到另外一个硬盘--Ubuntu小笔记
- 转换bin/cue/目录/CD到iso文件--Ubuntu小笔记
- Ubuntu12.10下MySQL安装指南