hdu超级楼梯2014
来源:互联网 发布:javmoo最新域名 编辑:程序博客网 时间:2024/05/01 16:21
/*HDU 2041 超级楼梯(2011-04-01 19:23:55)转载标签: it 分类: HDU
超级楼梯
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 10760 Accepted Submission(s): 5417
Problem Description
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
Input
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
Output
对于每个测试实例,请输出不同走法的数量
Sample Input
2 2 3
Sample Output
1 2
Problem Analyse
简单递推
Algorithm Analyse
由题目可知,每次只能走一级或两级。
因此从第一级走上第二级只能走一步,只有1种走法。
从第一级走上第三级,可以从第一级直接走两步,也可以从第二级走一步。有2种走法
走上第n级,可以从第n-1级走一步上来,也可以从第n-2级走两步上来。
即:
f(2) = 1
f(3) = 2
f(n) = f(n-1) + f(n-2) (n > 3)
是一个斐波那契函数。
*/
//简单的递归
#include <stdio.h>
void main()
{
int i;
int count,x;
int a[40]={1,1,2};
for(i=3;i<40;i++)
{
a[i]=a[i-1]+a[i-2] ;
}
scanf("%d",&count);
while(count--)
{
scanf("%d",&x);
printf("%d\n",a[x-1]);
}
}
#include <iostream>
using namespace std;
int f[41]={0,1};
int main()
{
int i,n,m;
for(i=2;i<41;++i)
f[i]=f[i-1]+f[i-2];
for(scanf("%d",&n);n--;){
scanf("%d",&m);
printf("%d/n",f[m]);
}
return 0;
}
- hdu超级楼梯2014
- hdu 2014 超级楼梯
- HDU 2014:超级楼梯(动态规划)
- hdu 2041 超级楼梯
- HDU 2041 超级楼梯
- Hdu 2041 - 超级楼梯
- HDU 2041 超级楼梯
- HDU 2041 超级楼梯
- hdu 超级楼梯
- hdu 2041 超级楼梯
- HDU 2041 - 超级楼梯
- HDU(2041) (超级楼梯)
- hdu 2041 超级楼梯
- [hdu-2041] 超级楼梯
- hdu 2041 超级楼梯
- HDU 2041 超级楼梯
- hdu 2041 超级楼梯
- HDU 2041 超级楼梯
- 一步一步写算法(之爬楼梯)
- 学习简单的python----最简单的python+GUI例子+2(带排版的GUI)
- SQL Server 2008 R2 (Reporting Services)中的新增功能
- 9个创建个人品牌的基本步骤
- java基础------new Integer(1)和Integer.valueOf(1)的区别
- hdu超级楼梯2014
- 一个新闻发布系统的设计
- ubuntu恢复默认面板
- HDU 1017 A Mathematical Curiosity
- Unix中的不带缓冲的文件IO
- 静态连接库与动态链接库
- 地图编辑器原理
- 今天追WebKit的一个crash,追了一天也没有出现!
- 辗转相除法求 最大公约数和最小公倍数