您的位置:首页 > 其它

hdu 超级楼梯 解题报告

2014-06-28 18:11 197 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041

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

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

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

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



#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;

const int maxn = 40 + 10;
int a[maxn];

int f(int n)
{
if (n == 1 || n == 2)
return a
= 1;
if (a
!= -1)   // 这里用到记忆化搜索
return a
;
return a
= f(n-1) + f(n-2);
}

int main()
{
int n, m;
memset(a, -1, sizeof(a));
while (scanf("%d", &n) != EOF)
{
while (n--)
{
scanf("%d", &m);
printf("%d\n", f(m));
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: