hdu 超级楼梯 解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041 

     哦~~对了,这些题读者可以直接忽略,我只是想练习一下自己薄弱的地方......

     题目意思我就不说了...自从昨晚问完乌冬兄一条DP题之后,“一体就知道系DP啦,而且仲好简单噶DP...”。就深感自己是如此地弱......可能有一段相当漫长的时间不会再找他了,毕竟一个喳喳对着一个区域赛银牌的人,自尊心作祟,而且,很大压力!我发现我好多不会......他好像以为我什么都会......

      这条题以前做过,用递推做的,因为昨天那题说用到记忆化搜索,现在就用记忆化搜索做。调了一下,加深了递归的理解。我觉得,递归对我来说,就是一只拦路虎,只能通过多做来努力去攻克了,fighting!!!

     这个是我通过调试并在纸上模拟过程做的。代表到达第6级楼梯时有多少种走法。

    

   

复制代码
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <cstring>
 5 using namespace std;
 6 
 7 const int maxn = 40 + 10;
 8 int a[maxn];
 9 
10 int f(int n)
11 {
12     if (n == 1 || n == 2)
13         return a[n] = 1;
14     if (a[n] != -1)   // 这里用到记忆化搜索
15         return a[n];
16     return a[n] = f(n-1) + f(n-2);
17 }
18 
19 int main()
20 {
21     int n, m;
22     memset(a, -1, sizeof(a));
23     while (scanf("%d", &n) != EOF)
24     {
25         while (n--)
26         {
27             scanf("%d", &m);
28             printf("%d\n", f(m));
29         }
30     }
31     return 0;
32 }
复制代码

 

 

posted @   windysai  阅读(315)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
阅读排行:
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· 在线客服系统 QPS 突破 240/秒,连接数突破 4000,日请求数接近1000万次,.NET 多
· C# 开发工具Visual Studio 介绍
· 在 Windows 10 上实现免密码 SSH 登录
· C#中如何使用异步编程
点击右上角即可分享
微信分享提示