UVA
来源:互联网 发布:cocos2d 源码 编辑:程序博客网 时间:2024/06/08 18:25
题目链接:点击打开链接
题意:题目有公式,看公式和数据就可以明白。
思路:刚开始学IDA*算法,并不是太懂,这儿就不介绍算法了,这就算模板题了,
#include <stdio.h>#include <string.h>#include <math.h>int num[100000];int n,m,flag;void dfs(int d){ if(d>m||num[d]<<(m-d)<n) //减枝 ,m为IDA*d的上限,d不能大于m,还有m-d次操作, return ; //假若当前值此后m-d次,每次都翻倍,却依旧小于n,则不可能到n,即return , if(num[d]==n) { flag=1; return ; } int t; if(flag) return ; for(int i=d; i>=0; i--) { t=num[d]+num[i]; if(t<2000&&t>0) { num[d+1]=t; dfs(d+1); } t=num[d]-num[i]; if(t<2000&&t>0) { num[d+1]=t; dfs(d+1); } } return ;}int main(){ while(~scanf("%d",&n)&&n) { num[0]=1; flag=0; for(m=0;; m++) { dfs(0); if(flag) break; } printf("%d\n",m); } return 0;}
阅读全文
0 0
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- LeetCode 721( Accounts Merge)
- JZOJ 5458. 【NOIP2017提高A组冲刺11.7】质数
- 汇编-寄存器
- 基于opencv的单张图像去雾算法(三)
- 彻底理解 Android Binder 通信架构
- UVA
- 函数的可重入与线程安全
- WPF遮罩层实现
- 图论(2017NOIP复习)
- Anaconda开发Python安装使用3.6.3
- 先序、中序和后序数组两两结合重构二叉树
- docker使用
- DOS命令常用
- ArrayList、LinkedList、HashMap的底层实现