Hdoj 2041.超级楼梯 题解】的更多相关文章

Problem Description 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? Input 输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数. Output 对于每个测试实例,请输出不同走法的数量 Sample Input 2 2 3 Sample Output 1 2 Author lcy Source 2005实验班短学期考试 思路 很好理解,在第N个台阶,要么从N-…
超级楼梯 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<=),表示楼梯的级数. Outpu…
超级楼梯 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 58070    Accepted Submission(s): 29503 Problem Description 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?   Input 输入数据首先包含一个整数N,表示测试实例的个数,然后是…
题意: 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? 思路: 如何到第n阶台阶,只能从n-1和n-2台阶上去,那么只需要计算到n-1阶台阶和到n-2阶台阶即可 代码: #include<iostream> using namespace std; const int maxn = 50; int a[maxn]; void init() { a[1] = 1; a[2] = 1; a[3] = 2; for(int i = 4; i <=…
/* 当未走的楼梯大于1时,可以选择走一步或者走两步,每次所做的选择相似, 符合分治法的特性,因此选择分治法,又测试用例有多组,为了避免多组 用例的重复计算,可用一个数组将已经知道的剩下的楼梯可以走的方法种数记录 下来,避免重复计算. */ #include<stdio.h> ] = { }; int divide(int n) { ) { ; } ) { return a[n]; } ) + divide(n - ); } int main() { int m; int n; scanf(&…
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041 题目分析:题目是真的水,不难发现规律涉及斐波那契数列,就直接上代码吧. 代码如下: #include <iostream> #include <cstring> using namespace std; int t, n, num[40]; int dp(int n) { if (n == 1 || n == 2) return num[n] = n; if (num[n] !=…
斐波那契数列,看清题意,当前为第一阶,给出M(每次只能跨1阶或2阶) 从第一阶到M,若M=1,从1-1不用走,0种方法 若M=2 从1-2  一种方法  -> 1.走一次一阶 若M=3 从1-3  两种方法  -> 1.走两次一阶 2.走一次两阶 若M=4 从1-4  三种方法  -> 1.走三次 一阶 2. 走一次一阶 走一次两阶 3.走一次两阶 再走一次一阶 当前项=前两项之和 定义数组 M[1]=0;M[2]=1;M[3]=2;... #include<stdio.h>…
代码: #include <stdio.h>int main(){int n;int i;int m;int count;int dp[50];while(scanf("%d",&n)!=EOF){dp[1]=1;dp[2]=1;dp[3]=2;while(n--){count=0;scanf("%d",&m);for(i=4; i<=m; i++){dp[i]=dp[i-1]+dp[i-2];}printf("%d\n&…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041 超级楼梯 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 86599    Accepted Submission(s): 44398 Problem Description 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级…
超级楼梯 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 48297    Accepted Submission(s): 24705 Problem Description 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?   Input 输入数据首先包含一个整数N,表示测试实例的个数,然后是…