首页 > 代码库 > hdu 超级楼梯 解题报告
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 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。