汉扬编程 C语言入门 一次只允许走一步或者五步,求有多少种下楼梯

一次只允许走一步或者五步,求有多少种下楼梯

  #include
#include
#include
using namespace std;
long long val[105];
inline long long dfs(int cur)
{
// printf(\”%d

\”,cur);
if(cur return 0;
if(val[cur]!=-1)
return val[cur];
return val[cur]=dfs(cur-1) dfs(cur-2);
}
int main()
{
int h;
memset(val,-1,sizeof(val));
val[0]=1;
scanf(\”%d\”,&h);
printf(\”%I64d

\”,dfs(h));
// for(int i=0;i// printf(\”%I64d \”,val[i]);
return 0;
}
这道题如果不用记忆化搜索h最多只能做到30。
  。其实可以线性dp。

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/cjia/6391.html

技术贴:C语言程序到底是怎么执行的?

十年老程序员分享的在linux下C开发几点技术小总结

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部