蒜头爬楼梯
2016-02-26 22:20
183 查看
#include<iostream> #include<cstdio> using namespace std; #define MAXN 50 int dp(int i){ if(i==1) return 1; if(i==2) return 2; dp(i)=dp(i-1)+dp(i-2); } int main(){ int n; n=scanf("%d",&n); printf("%d",dp(n)); }
使用数组记忆重复结果,优化
<pre name="code" class="cpp">#include<iostream> #include<cstdio> using namespace std; #define MAXN 50 int result[100]={0}; int dp(int i){ int res; if(result[i]) return result[i]; if(i==0) return 1; if(i==1) return 1; res=dp(i-1)+dp(i-2); result[i]=res; return res; } int main(){ int n; scanf("%d",&n); printf("%d",dp(n)); }
相关文章推荐
- 自定义Android View组件——实现雷达图效果
- Fedora开机直接进入终端界面
- ELF文件和BIN文件
- 针对"您的计算机配置似乎是正确的,但该设备或资源(DNS 服务器)没有响应"问题解决
- 查找算法
- 查找算法
- python print及格式化
- 测试同时使用JdbcTemplate和HibernateTemplate执行数据更新的事务控制2
- 原理分析之二:框架整体设计
- myEclipse设置java编译环境和运行环境
- hasmap和treemap的实现与区别
- 四种方案解决ScrollView嵌套ListView问题
- u Calculate e
- 虚拟机中使linux系统分辨率变大,能够在虚拟机全屏显示
- 软件的定义
- 学会设计状态+注意初始化的边界(1421)
- myEclipse中JDK配置
- cubic-bezier贝塞尔曲线css3动画工具
- Java第二章
- git修改远程仓库地址及远程仓库管理