【DP入门】超级楼梯

来源:互联网 发布:c语言逻辑条件表达式 编辑:程序博客网 时间:2024/04/29 16:40
A - 超级楼梯
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
Submit Status

Description

有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
 

Input

输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
 

Output

对于每个测试实例,请输出不同走法的数量
 

Sample Input

223
 

Sample Output

12


#include <stdio.h>#include <stdlib.h>#define MAX 1010int main(){    int n,m[MAX];    while(scanf("%d",&n)!=EOF)    {        int i,j;        int s[MAX],a[MAX];        for(i=0;i<n;i++)        {            scanf("%d",&m[i]);            s[0]=0;            s[1]=1;            s[2]=2;            for(j=3;j<m[i];j++)                s[j]=s[j-1]+s[j-2];            a[i]=s[m[i]-1];        }        for(i=0;i<n;i++)            printf("%d\n",a[i]);    }}


0 0
原创粉丝点击