NYOJ - 76:超级台阶

超级台阶

来源:NYOJ
标签:算法、动态规划
参考资料:
相似题目:

题目

有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?
注:规定从一级到一级有0种走法。

输入

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

输出

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

输入样例

2
2
3

输出样例

1
2

解题思路

因为只能跨一级或两级,所以对于第m (m>3) 级台阶,它的走法取决于第m-2级和第m-1级。

参考代码

#include
int main()
{
	int n,m;
	int arr[45]={0,0,1,2};
	for(int i=4;i<45;i++)
	arr[i]=arr[i-1]+arr[i-2];
	scanf("%d",&n);
	while(n--)
	{
		scanf("%d",&m);
		printf("%d\n",arr[m]);
	}
	return 0;
}

你可能感兴趣的:(【记录】算法题解)