超级楼梯

Time Limit: / MS (Java/Others)    Memory Limit: / K (Java/Others)
Total Submission(s): Accepted Submission(s): Problem Description
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? Input
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(<=M<=),表示楼梯的级数。 Output
对于每个测试实例,请输出不同走法的数量 Sample Input Sample Output Author
lcy Source
2005实验班短学期考试
Recommend
lcy

  水题,递归。

  很有意思的一道递归题,用普通的递归会超时,需要改用记忆递归法。记忆递归法,牺牲空间来换取时间,可以采用数组(数组空间浪费大,但是读取速度快)。

code:

 Problem :  ( 超级楼梯 )     Judge Status : Accepted
RunId : Language : G++ Author : freecode
Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta #include <iostream>
using namespace std; /* 用普通递归会超时,改用记忆递归法(将数据存储在数组里)
int m; int f(int n)
{
if(n>m)
return 0;
else if(n==m)
return 1;
else
return f(n+1)+f(n+2);
}
*/ int main()
{
/*
int T;
cin>>T;
while(T--){
cin>>m;
cout<<f(1)<<endl;
}
*/ int a[];
a[]=,a[]=; for(int i=;i<=;i++) //记忆递归法。牺牲空间,换取时间。
a[i]=a[i-]+a[i-]; int T,m;
cin>>T;
while(T--){
cin>>m;
cout<<a[m]<<endl;
}
return ;
}

  第二次做。

  水题。

  常规做法会超时,输出几组连续的测试数据会发现,输出结果是斐波那契数列。那么题目就简单了,直接构造一个40以内的斐波那契数列即可,f1=1,f2=1。

  常规做法是写一个递归,作用是记录当前走到了哪一级阶梯(假设为n),所以出口是当n>M(直接return;)或者n==M(sum++;return ;),递归体是f(n+1)然后f(n+2),分别表示当前走1级阶梯和2级阶梯的情况。

  代码:

 1 #include <iostream>
2
3 using namespace std;
4 int sum;
5 int m;
6 int a[41];
7 void f()
8 {
9 a[1] = 1;
10 a[2] = 1;
11 for(int i=3;i<=40;i++)
12 a[i] = a[i-1] + a[i-2];
13 }
14 int main()
15 {
16 int n;
17 f();
18 cin>>n;
19 while(n--){
20 cin>>m;
21 cout<<a[m]<<endl;
22 }
23 return 0;
24 }

Freecode : www.cnblogs.com/yym2013

hdu 2041:超级楼梯(水题,递归)的更多相关文章

  1. hdu 2041 超级楼梯(简单dp)

    超级楼梯 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  2. HDU 2041 超级楼梯 (斐波那契数列 & 简单DP)

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041 题目分析:题目是真的水,不难发现规律涉及斐波那契数列,就直接上代码吧. 代码如下: #inclu ...

  3. HDU - 2041 - 超级楼梯(dp)

    题意: 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? 思路: 如何到第n阶台阶,只能从n-1和n-2台阶上去,那么只需要计算到n-1阶台阶和到n-2阶台 ...

  4. hdu 2041 超级楼梯

    斐波那契数列,看清题意,当前为第一阶,给出M(每次只能跨1阶或2阶) 从第一阶到M,若M=1,从1-1不用走,0种方法 若M=2 从1-2  一种方法  -> 1.走一次一阶 若M=3 从1-3 ...

  5. hdu 1106:排序(水题,字符串处理 + 排序)

    排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  6. HDU 4950 Monster (水题)

    Monster 题目链接: http://acm.hust.edu.cn/vjudge/contest/123554#problem/I Description Teacher Mai has a k ...

  7. HDU 4813 Hard Code 水题

    Hard Code Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.act ...

  8. HDU 4593 H - Robot 水题

    H - RobotTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.act ...

  9. HDOJ/HDU 2560 Buildings(嗯~水题)

    Problem Description We divide the HZNU Campus into N*M grids. As you can see from the picture below, ...

随机推荐

  1. 解决微信OAuth2.0网页授权回调域名只能设置一个的问题

    https://github.com/HADB/GetWeixinCode GetWeixinCode 解决微信OAuth2.0网页授权回调域名只能设置一个的问题 使用方法 部署get-weixin- ...

  2. ASP+ACCESS手工注入详解

    SQL注入这么长时间,看见有的朋友还是不会手工注入,那么我来演示一下.高手略过. 我们大家知道,一般注入产生在没经过虑的变量上,像ID?=XX这样的. 下面以这个网址为例: http://zsb.xx ...

  3. afasf

    http://www.cnblogs.com/ttzhang/archive/2008/11/02/1324601.html project server 2007 sn :W2JJW-4KYDP-2 ...

  4. EL表达式从request和session中取值

    在Action中保存登录的基本信息:request.getSession().setAttribute("adminid", str); 在JSP页面中:${sessionScop ...

  5. motto5

    No matter what others say,I won't forsake my priciples.

  6. 最长不下降子序列(LIS)

    最长上升子序列.最长不下降子序列,解法差不多,就一点等于不等于的差别,我这里说最长不下降子序列的. 有两种解法. 一种是DP,很容易想到,就这样: REP(i,n) { f[i]=; FOR(j,,i ...

  7. 最近为毛喜欢上C/C++语言了

    旁观者李四说:此人大笨也!我用鼠标随便拖几个控件, 就是一个xxx管理系统了,你用C语言怕是一年也写不出来吧! 好吧,我要承认,讲这话的都已经是mS的奴才了,别的我不了解, MFC本身就是一个封闭的架 ...

  8. IOS 中的CoreImage框架

    IOS 中的CoreImage框架(framework) - time4cnblogs 时间 2014-03-15 00:24:00  博客园-所有随笔区原文  http://www.cnblogs. ...

  9. MFC加载皮肤 转自:http://www.cctry.com/thread-4032-1-1.html

    VC皮肤库SkinSharp 1.0.6.6的使用: SkinSharp又称Skin#,是Windows环境下一款强大的换肤组件.SkinSharp作为换肤控件,只需要在您的程序中添加一行代码,就能让 ...

  10. 跟着百度学PHP[1]-if条件嵌套

    权当自己的学习笔记.望大牛们切勿参考.如若发现错误,万望指出!  慕课任务 假设在发工资的时候,不仅判定性别,还要判定男性是否有房,没有房,可以发放住房补贴,对于女性,判定是否怀孕,怀孕还有怀孕补贴. ...